在Node Bull中完成删除作业后,该作业不起作用



我正在使用node-bull进行调度。现在,对于我的工作,我将cron时间传递给它(这是一个特定的时间和日期(。现在,由于我提供了一个严格的cron,所以它必须只运行一次,或者即使它第二次运行,也必须从队列中删除(我提供了removeOnComplete:true(。

但它仍然没有被删除,它再次运行,我的队列再次处理此作业。所以我想停止这种行为。

我的添加作业功能:(数据是我的作业数据,计时是我的cron计时(

public async addJob(data: any, timings: any, jobId: any) {
console.log('adding job');
console.log(timings);
const job = await this.videoQueue.add(
{data: data},
{
repeat: {
cron: timings,
},
jobId: jobId,
removeOnComplete: true,
},
);
return job;
}

我的流程功能:

this.videoQueue.process(async (job: any) => {
// processing function for my job.
});

我是新节点和节点牛。也许我犯了一个错误,但我无法调试它。

谢谢。

我可以建议您使用node schedule包来使用cron时间进行调度。实际上很容易使用

const schedule = require('node-schedule');
const job = schedule.scheduleJob('* * * * *', function(){
console.log('Job runned.');
job.cancel();
});

最新更新