BullMQ - 基于任务组/任务的完成
在BullMQ中,可以通过任务组/任务来控制任务的完成。可以将大量相关任务分组并统一处理。下面是一个示例代码:
创建一个任务组:
const { Queue } = require('bull'); const queue = new Queue('myQueue');
async function addTasks(groupId, tasks) {
for (let i = 0; i < tasks.length; i++) {
const job = await queue.add('process', { task: tasks[i] }, { jobId: ${groupId}-${i}
});
await job.moveToCompleted(${groupId}-${i}
);
}
}
将任务添加到任务组:
const tasks = ['task1', 'task2', 'task3']; await addTasks('group1', tasks);
标记任务组为完成状态:
await queue.completeGroup('group1');
通过以上代码示例演示了如何通过任务组/任务来管理任务的完成。