You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何仅用Cron实现Node.js中11:30隔一日执行的定时任务?

Node.js中用纯Cron表达式实现隔一日11:30执行定时任务

要实现每日上午11:30隔一日执行的定时任务,完全可以通过Cron表达式本身实现,无需额外的日期判断逻辑。以下是具体方案:

核心Cron表达式说明

Cron表达式格式为:分 时 日 月 周,针对隔一日执行的需求,可通过日字段的步长配置实现,有两种常见方式:

方式1:按间隔天数执行(每2天一次)

用*/2作为日字段配置,表达式如下:

30 11 */2 * *

含义:每月每隔2天的11点30分执行一次,从当月第一天开始,依次在1号、3号、5号...(或2号、4号、6号,取决于当月首日是否触发)执行。

方式2:按日期奇偶执行

如果需要固定在奇数日或偶数日执行,可通过步长匹配对应日期:

  • 奇数日执行(1、3、5...号):
    30 11 1-31/2 * *
    
  • 偶数日执行(2、4、6...号):
    30 11 2-30/2 * *
    

Node.js代码实现

使用node-cron库时,直接将上述表达式传入schedule方法即可,无需额外判断逻辑:

const cron = require('node-cron');

// 示例:每2天的11:30执行任务
cron.schedule('30 11 */2 * *', () => {
  console.log('定时任务执行:隔一日11:30');
  // 此处编写你的业务逻辑代码
});

方案对比

你之前获取的外部判断方案需要每日触发任务后再做日期校验,而纯Cron表达式方案直接由调度器控制执行时机,减少了不必要的每日任务触发,逻辑更简洁,也更贴合Cron定时任务的设计初衷。

内容的提问来源于stack exchange,提问作者Hiren Kalariya

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 02:22:06