Javascript 议程js作业立即执行

Javascript 议程js作业立即执行,javascript,node.js,Javascript,Node.js,我正在使用在服务器上运行计划事件。 我正在使用以下代码安排作业: var job = global.agenda.create('send happy hour notification', {}); job.repeatEvery('0 21 * * *'); job.unique({}); job.save(); 因此作业应该每天21:00运行。 但每次我的服务器启动时,它都会运行此作业。 我做错了什么吗?我也遇到了同样的问题,所以我做了一些挖掘,发现这是因为在保存作业时,无法正确计算下一

我正在使用在服务器上运行计划事件。
我正在使用以下代码安排作业:

var job = global.agenda.create('send happy hour notification', {});
job.repeatEvery('0 21 * * *');
job.unique({});
job.save();
因此作业应该每天21:00运行。
但每次我的服务器启动时,它都会运行此作业。

我做错了什么吗?

我也遇到了同样的问题,所以我做了一些挖掘,发现这是因为在保存作业时,无法正确计算下一个trunat,所以只需在保存作业之前运行“job.computeNextRunAt();”,它应该可以正常工作

默认情况下,任何重复作业都将按照您计划的重复间隔立即执行。最后一部分是关键:默认情况下,重复议程将在定义后立即运行。要更改此默认行为,请将
skipImmediate:true
传递到“选项”。大概是这样的:

job.repeatEvery('3 minutes', {
  skipImmediate: true
});
await job.save();

上述操作仅在3分钟后和每3分钟后运行一次,而不是现在和3分钟后和每3分钟后运行一次。

谢谢这对我来说很有效,但出于某种原因,它仅在我使用cron作业语法时有效,而在我使用时间字符串时无效。