【问题标题】:How do you calculate past cron jobs schedules?你如何计算过去的 cron 作业时间表?
【发布时间】:2021-06-26 00:49:43
【问题描述】:

我希望能够找到给定 cron 字符串的 cron 作业运行的时间。例如,使用0 */5 * * * *,作业每五分钟运行一次。如果是 13:02,下一个作业是 13:05,最后一个作业是 13:00。如果有一个图书馆可以做到这一点,我想尽可能使用它。

【问题讨论】:

    标签: javascript node.js cron


    【解决方案1】:

    我会考虑使用cron-parser,这使您可以从 cron 表达式中确定以前和将来的 cron 时间。

    例如:

    const parser = require('cron-parser');
    
    const options = {
      currentDate: new Date('2020-06-25T13:02:00Z'),
      iterator: true
    };
    
    const interval = parser.parseExpression('0 */5 * * * *', options);
    
    console.log("Previous run:", interval.prev().value.toISOString());
    console.log("Next run:", interval.next().value.toISOString());
    

    您应该会看到如下内容:

    上一次运行:2020-06-25T13:00:00.000Z 下一次运行:2020-06-25T13:05:00.000Z

    【讨论】:

    • 谢谢,这正是我所需要的!
    【解决方案2】:

    查看Later.js

    来自文档:

    // fires at 10:15am every day
    var cron = '0 */5 * * * *';
    var s = later.parse.cron(cron);
    
    later.schedule(s).next(10);
    // gets you the next 10 times the cron expression will run
    
    later.schedule(s).prev(10);
    // gets you the last 10 times the cron expression ran
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-01-14
      • 1970-01-01
      • 1970-01-01
      • 2015-06-23
      • 2014-01-02
      • 1970-01-01
      • 1970-01-01
      • 2011-01-17
      相关资源
      最近更新 更多