gpt4 book ai didi

javascript - 尝试在不同时间运行多个 kue 作业,但它们同时启动

转载 作者:行者123 更新时间:2023-12-03 03:32:52 25 4
gpt4 key购买 nike

我正在尝试按不同的时间表运行两个不同的作业(请参阅下面的代码示例)。由于某种原因,本应每天晚上 11 点运行一次的作业每次运行时都会运行其他作业。当我期望它们运行时,如何让它们运行?感谢您的帮助。

const kue = require('kue-scheduler');
const Queue = kue.createQueue();
const jobOneSchedule = '0 0 23 * * *';
const jobTwoSchedule = '0 0 0/1 * * *';

let job1 = Queue.createJob('doJobOne')
.priority('low')
.unique('unique_one')
.removeOnComplete('true');


let job2 = Queue.createJob('doJobTwo')
.priority('high')
.unique('unique_two')
.removeOnComplete('true');


Queue.every(jobOneSchedule, job1);
Queue.every(jobTwoSchedule, job2);


Queue.process('doJobOne', function(job, done){
console.log('Job one done');
done();
});

Queue.process('doJobTwo', function(job, done){
console.log('Job two through');
done();
});

解决方法

作为解决方法,我必须删除所有 job2 内容并按如下方式运行它:

// Do job2 stuff every hour (3.6e6 ms)
const jobTwoInterval = 3.6e6;
setInterval(function(){
console.log('Job two through');
}, jobTwoInterval);

最佳答案

我这边工作顺利

  const jobOneSchedule = '39 11 * * *';   //Runs at 11:39 pm
const jobTwoSchedule = '*/20 * * * * *'; //Run every twenty seconds

您可以尝试刷新redis并重试吗?

setInterval 的缺点是,如果服务器重新启动,您的作业将永远不会执行,因为间隔将被清除。

关于javascript - 尝试在不同时间运行多个 kue 作业,但它们同时启动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46006829/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com