首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Cron正在运行2次node-cron

Cron正在运行2次node-cron
EN

Stack Overflow用户
提问于 2021-08-17 20:20:31
回答 1查看 48关注 0票数 1

我安装了node-cron库,并在同一个文件中配置了2个cron,让它们以不同的时间间隔运行。第一个cron每45秒运行一次,第二个cron每60秒运行一次,它工作得很好。当运行60秒的cron时,问题就会发生,45秒的cron也会自动再次运行(请注意,差异是15秒)。这一切为什么要发生?

代码语言:javascript
复制
const cron = require('node-cron'); 

cron.schedule('*/45 * * * * *', async () => { 
   console.log('running 45 seconds')
})

cron.schedule('*/60 * * * * *', async () => { 
   console.log('running 60 seconds')
})
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-08-17 23:29:02

Cron将在“每45秒,每分钟……”运行它。

从0秒开始,然后从45秒开始。从0秒开始,然后从45秒开始。

*/x间隔不能被父时间单位整除时(立即秒数、一小时内的分钟数等),这一点就会很明显。

例如,*/17 * * * * *

代码语言:javascript
复制
2021-08-17T23:07:00.230Z running */17 seconds
2021-08-17T23:07:17.273Z running */17 seconds
2021-08-17T23:07:34.302Z running */17 seconds
2021-08-17T23:07:51.344Z running */17 seconds
2021-08-17T23:08:00.374Z running */17 seconds
2021-08-17T23:08:17.424Z running */17 seconds
2021-08-17T23:08:34.467Z running */17 seconds
2021-08-17T23:08:51.494Z running */17 seconds
2021-08-17T23:09:00.525Z running */17 seconds
2021-08-17T23:09:17.564Z running */17 seconds

要通过cron在45秒计时器上运行某项任务,您可能需要每隔15秒执行一次任务,然后需要一些逻辑来检查以前的运行。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68823560

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档