我每小时都在运行一个cron作业,但它没有按预期工作。 它应该每小时运行一次,例如下午1点,下午2点,下午3点,等等 但它迟到了30分钟。下午1:30,下午2:30等等...
我在Node.js中使用node-cron
,服务器是Digital Ocean Ubuntu。
以下是代码
var moment = require('moment');
var cron = require('node-cron');
cron.schedule('0 * * * *', function () {
console.log('cron job started at ' + moment().utcOffset(330).format());
});
输出
- 运行延迟30分钟
cron工作开始于2018-02-10T17:30:00 + 05:30
cron工作开始于2018-02-10T18:30:00 + 05:30
cron工作开始于2018-02-10T19:30:00 + 05:30
cron工作开始于2018-02-10T20:30:00 + 05:30
我希望输出为 - 每小时开始
cron工作开始于2018-02-10T17:00:00 + 05:30 cron工作开始于2018-02-10T18:00:00 + 05:30 cron工作开始于2018-02-10T19:00:00 + 05:30 cron工作开始于2018-02-10T20:00:00 + 05:30
答案 0 :(得分:1)
您通过调用moment()
添加3.5小时来更改.utcOffset(330)
返回的时区。
移除对utcOffset()
的呼叫,它应显示正确的时间。