我正在使用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();
});