6

i have a node(v0.7.3-pre) server with node-cron(0.3.2) and 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);

it runs, but the Cron is allways working with the server time(UTC), and the returned cron is:

{ _callbacks: [ [Function] ],
  onComplete: undefined,
  cronTime:
   { source: '00 29 16 6 * *',
     zone: undefined,
     second: { '0': true },
     minute: { '29': true },
     hour: { '16': true },
     dayOfWeek:
...

the zone is set as undefined, am i missing something?

Joaolvcm
  • 1,983
  • 3
  • 20
  • 24

1 Answers1

7

Because an error in node-cron module. I already send a pull request that will fix it. You can change this lines in your local copy of this module.

You also can use several function parameters to initialize cronJob instead of one object:

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);
Vadim Baryshev
  • 25,689
  • 4
  • 56
  • 48