如何将数据从Laravel发送到使用Bull队列实现的Redis队列

问题描述

我已经在nestjs项目中实现了Bull队列,但希望生产者成为laravel项目。 我使用以下命令生成

Redis::command('zadd',['bull:test:delayed',1,$data]);

以及供消费者使用

@Processor('test')
export class ConsumerProcessor {
  @Process({concurrency:13})
  handle(j: Job<unkNown>) {
    this.logger.log(j.id);
  }
}

在生产者处添加的$ data可通过job.id访问,如何使用job.data访问它并具有唯一ID?生产者方面需要做哪些更改?

解决方法

以下代码有效:

A="some unique identifier";
Redis::command("hmset",['bull:<queuename>:<A>',"data",json_encode($data)]); 
Redis::command('zadd',['bull:<queuename>:delayed',1,A]);