Node-Cron在Digital Ocean上无法正常工作

时间:2018-02-10 12:19:39

标签: node.js cron momentjs digital-ocean node-cron

我每小时都在运行一个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

1 个答案:

答案 0 :(得分:1)

您通过调用moment()添加3.5小时来更改.utcOffset(330)返回的时区。
移除对utcOffset()的呼叫,它应显示正确的时间。