【发布时间】:2021-06-26 00:49:43
【问题描述】:
我希望能够找到给定 cron 字符串的 cron 作业运行的时间。例如,使用0 */5 * * * *,作业每五分钟运行一次。如果是 13:02,下一个作业是 13:05,最后一个作业是 13:00。如果有一个图书馆可以做到这一点,我想尽可能使用它。
【问题讨论】:
标签: javascript node.js cron
我希望能够找到给定 cron 字符串的 cron 作业运行的时间。例如,使用0 */5 * * * *,作业每五分钟运行一次。如果是 13:02,下一个作业是 13:05,最后一个作业是 13:00。如果有一个图书馆可以做到这一点,我想尽可能使用它。
【问题讨论】:
标签: javascript node.js cron
我会考虑使用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【讨论】:
查看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
【讨论】: