【发布时间】:2020-10-15 18:13:57
【问题描述】:
在 node-cron 中,我如何获得下一个 cron-job 的时间?例如cronJob.nextCronJob().time 或其他属性。文档中没有显示这一点的方法。
【问题讨论】:
标签: javascript node.js cron node-modules node-cron
在 node-cron 中,我如何获得下一个 cron-job 的时间?例如cronJob.nextCronJob().time 或其他属性。文档中没有显示这一点的方法。
【问题讨论】:
标签: javascript node.js cron node-modules node-cron
我不知道使用node-cron 模块有什么方法可以得到这个。但是,您可以使用 cron 模块执行此操作,使用 cronJob.nextDates() 函数,如下所示:
const CronJob = require("cron").CronJob;
const cronJob = new CronJob(
"*/30 * * * * *",
() => {
console.log("Timestamp: ", new Date());
},
null,
true
);
setInterval(() => {
console.log("Next job time:", cronJob.nextDates().toISOString());
}, 5000);
如果你必须使用 node-cron 模块,你可以看看cron-parser,它会解析一个 cron 表达式并给你下一个运行时间,例如
const parser = require('cron-parser');
const cronExpression = "*/30 * * * * *";
const interval = parser.parseExpression(cronExpression);
console.log('Next run:', interval.next().toISOString());
【讨论】:
cronJob.nextDates().toISOString()。没有参数nextDates() 将返回下一次运行时间。