我有一个node(v0.7.3-pre)服务器node-cron(0.3.2)和node-time(0.8.2):
var cronJob = require('cron').CronJob;
var cronJ = new cronJob({
cronTime: "00 29 16 6 * *",
onTick: function() {
console.log("Tick");
},
start:true,
timeZone: "America/Los_Angeles"
});
console.log(cronJ);
它运行,但Cron总是使用服务器时间(UTC),返回的cron是:
{ _callbacks: [ [Function] ],
onComplete: undefined,
cronTime:
{ source: '00 29 16 6 * *',
zone: undefined,
second: { '0': true },
minute: { '29': true },
hour: { '16': true },
dayOfWeek:
...
zone
设置为undefined
,我错过了什么吗?
答案 0 :(得分:5)
因为node-cron模块中存在错误。我已经发送了pull request来修复它。您可以在此模块的本地副本中更改此行。
您还可以使用多个函数参数来初始化cronJob而不是一个对象:
var cronJob = require('cron').CronJob;
var cronJ = new cronJob("00 29 16 6 * *", function() {
console.log("Tick");
}, undefined, true, "America/Los_Angeles");
console.log(cronJ);