4

我正在使用一个名为node-schedule的节点模块

我有这个功能,预计在每个季度开始时触发一次。

var rule = {hour: 0, minute: 0, day: 1, month: [0, 3, 6, 9]};

var logCost = schedule.scheduleJob(rule, function(){
  console.log('logCost output this shit at: ' + dateFormat(Date(), 'isoTime'));
});

问题是该函数只是在一整天(即本月的第一天)中一直执行。我如何重新编写它以仅执行一次,我的规则变量可能有问题,但我看不出是什么。

4

2 回答 2

1

试试这个:

var rule = {hour: 00, minute: 01, dayOfWeek: 01, month: [0, 3, 6, 9]};
var logCost = schedule.scheduleJob(rule, function(){
          console.log('logCost output this shit at: ' + dateFormat(Date(), 'isoTime'));
});

在这里查看: https ://github.com/mattpat/node-schedule

它应该是“dayOfWeek”,而不是“day”。

于 2014-05-19T15:31:37.713 回答
1

您也可以尝试使用以下代码:

var logCost = schedule.scheduleJob('1 0 * * *', function(){
  console.log('logCost output this shit at: ' + new Date());
});

上面的代码将在每天的 00:01 (12:01 AM) 执行。

于 2017-06-17T09:36:42.867 回答