1

我已经在 Nestjs 项目中实现了 Bull queue,但希望生产者成为 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?生产者端需要做哪些改变?

4

1 回答 1

1

下面的代码有效:

A="some unique identifier";
Redis::command("hmset",['bull:<queuename>:<A>', "data" , json_encode($data)]); 
Redis::command('zadd', ['bull:<queuename>:delayed', 1, A]);
于 2021-01-15T05:15:40.200 回答