【发布时间】:2020-07-04 19:01:44
【问题描述】:
我有一台服务器在一天中的特定时间运行一个 cron 作业。我想在下一个工作执行之前获得时间。我查看了 npm 中的 cron 和 node-cron 包,但它们似乎没有这个功能。
我怎样才能自己为这些包实现这个功能?
【问题讨论】:
我有一台服务器在一天中的特定时间运行一个 cron 作业。我想在下一个工作执行之前获得时间。我查看了 npm 中的 cron 和 node-cron 包,但它们似乎没有这个功能。
我怎样才能自己为这些包实现这个功能?
【问题讨论】:
cron 包允许您获取 cron 作业的下一次运行,因此您可以使用它来确定下一次运行的时间。
这在 CronJob.nextDates() 函数中公开。
const CronJob = require("cron").CronJob;
const cronJob = new CronJob(
"*/30 * * * * *",
() => {
console.log("Timestamp: ", new Date());
},
null,
true,
"UTC"
);
setInterval(() => {
let timeUntilNextRunSeconds = cronJob.nextDates(1)[0].unix() - new Date().getTime()/1000;
console.log("Time until next run (s): ", Math.round(timeUntilNextRunSeconds));
}, 1000);
【讨论】: