You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Node-schedule定时任务配置异常:每6小时执行设置失效

解决node-schedule每6小时任务持续运行一小时的问题

嘿,我一眼就看出问题出在你的cron表达式上了!

问题根源

你当前用的 * */6 * * * 表达式里,第一个星号 * 代表每分钟触发一次任务。结合后面的 */6(每6小时),就会导致在0、6、12、18点这几个小时内,每分钟都执行一次任务——这就是为什么你看起来任务持续运行了一小时,而不是只执行一次。

正确的解决方案

把cron表达式的分钟位固定为0,也就是改成 0 */6 * * *。这个表达式的含义是:每6小时的第0分钟(也就是整点)执行一次任务,刚好对应你想要的0、6、12、18点各执行一次的效果。

修改后的代码

let schedule = require('node-schedule');
let j = schedule.scheduleJob('0 */6 * * *', function() {
  // 这里放入你的任务逻辑
  do smt;
});

为什么这个方案适合你

  • 不需要用布尔变量做临时修复,完全通过正确的cron表达式实现精准调度
  • node-schedule本身支持跨平台运行,不需要依赖Linux CronJob
  • 表达式逻辑清晰,后续维护也更容易

内容的提问来源于stack exchange,提问作者Achiel Volckaert

火山引擎 最新活动