在我的一个项目中,我正在使用 NPM Bull。
这是示例。
const queue = new Queue(`job@@prepare-tasks`);
const MAX_TASKS_FETCH = 100
const chunkCounts = Math.ceil(tasksJob.itemCounts / MAX_TASKS_FETCH);
for(let i = 0; i < chunkCounts; i++) {
const tasksJobConfig: ITasksJob = clone(tasksJob);
tasksJobConfig.offset = i * MAX_TASKS_FETCH;
tasksJobConfig.limit = MAX_TASKS_FETCH;
tasksJobConfig.isLast = chunkCounts === i + 1;
queue.add(tasksJobConfig);
}
当我在上面的示例中提到的队列名称中使用特殊字符@@时。作业的执行变得随机,当我删除特殊字符@@时,作业执行 FIFO。就他们在文档中提到的默认情况下,作业的执行是FIFO。我调试了它,但找不到原因。