如何序列化BullMQ作业队列中的作业?我需要下一个作业只有在上一个作业完成时才安排执行。我正在使用BullMQ 3。
您可以使用FlowProducer创建这种类型的行为。
例如:
const flowProducer = new FlowProducer({connection: {
host: "host_here",
port: 6379
}});
const jobChain = await flowProducer.add({
name:'example',
data: { field: 'value'},
"queueName",
children: [{
name: 'example2', //can be same/different name
data: {field: 'otherValue'},
"queueName", // can be a different queuename
children: ...
}],
});
这里的";示例";作业将仅在";示例2";已成功处理。这既与FlowProducer的行为有关;对工作生命周期的一般理解。
生命周期信息:https://docs.bullmq.io/guide/architecture
流量信息:https://docs.bullmq.io/guide/flows