问题描述
我使用 node-schedule 来安排在特定时间只执行一次的任务。该文档向我展示了这一点:
基于日期的调度:假设您非常特别想要一个函数 2012 年 12 月 21 日凌晨 5:30 执行。记住 - 在 JavaScript 中 - 0 - 1 月,11 日 - 12 月。
const schedule = require('node-schedule');
const date = new Date(2012,11,21,5,30,0);
const job = schedule.scheduleJob(date,function(){
console.log('The world is going to end today.');
});
但是这段代码每分钟运行一次任务,我只希望它在指定的特定时间只运行一次任务,如下所示:
const date = new Date(2012,0);
此处的日期是默认值。我在代码中将其更改为未来日期,如下所示:
const now = new Date().getTime();
const seconds = 180;
const parsedDate = new Date(Date.parse(now));
const date = new Date(parsedDate.getTime() + (1000 * seconds));
schedule.scheduleJob(date,function(data) {
console.log("Job ran @",new Date().toString());
});
在这里,我只想在距当前日期 180 秒(3 分钟)后 cron 作业。但是控制台结果显示控制台日志在部署后每分钟写入一次:
> Job ran @ Tue Mar 16 2021 08:56:00 GMT+0000 (GMT)
> Job ran @ Tue Mar 16 2021 08:57:00 GMT+0000 (GMT)
> Job ran @ Tue Mar 16 2021 08:58:00 GMT+0000 (GMT)
> Job ran @ Tue Mar 16 2021 08:59:00 GMT+0000 (GMT)
感谢您的帮助。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)