1

我想每隔 12 小时安排一次电子邮件,为此我使用了node-cron

我使用了以下代码,但它没有给我实际结果,所以请帮我解决这个问题,

var job = new CronJob('0 0 */12 * * *', function(){
   //email send code ..
});
4

3 回答 3

5

查看文档,代码应如下所示:

var cron = require('node-cron');

cron.schedule('0 0 */12 * * *', function(){
  console.log('running a task every twelve hours');
});

注意:您需要让应用程序一直运行,否则 cron 将不会执行。

如果您在控制台上打印 cron 时间,我们将如下所示:

      cronTime: {
        source: '0 0 */12 * * *',
        zone: 'America/Los_Angeles',
        second: {
          '0': true
        },
        minute: {
          '0': true
        },
        hour: {
          '0': true,
          '12': true
        },
        dayOfMonth: {
          '1': true,
          '2': true,
          '3': true,
          '4': true,
          '5': true,
          '6': true,
          '7': true,
          '8': true,
          '9': true,
          '10': true,
          '11': true,
          '12': true,
          '13': true,
          '14': true,
          '15': true,
          '16': true,
          '17': true,
          '18': true,
          '19': true,
          '20': true,
          '21': true,
          '22': true,
          '23': true,
          '24': true,
          '25': true,
          '26': true,
          '27': true,
          '28': true,
          '29': true,
          '30': true,
          '31': true
        },
        month: {
          '0': true,
          '1': true,
          '2': true,
          '3': true,
          '4': true,
          '5': true,
          '6': true,
          '7': true,
          '8': true,
          '9': true,
          '10': true,
          '11': true
        },
        dayOfWeek: {
          '0': true,
          '1': true,
          '2': true,
          '3': true,
          '4': true,
          '5': true,
          '6': true
        }
      },
于 2016-12-05T11:35:44.877 回答
1

你可以试试这个模块https://www.npmjs.com/package/node-schedule

var schedule = require('node-schedule');


var rule = new schedule.RecurrenceRule();


var j = schedule.scheduleJob('1 * * * * *', function(){
  console.log('Will run after every mint');
});



var rule = new schedule.RecurrenceRule();

rule.second=1;

var j = schedule.scheduleJob(rule, function(){
  console.log('this will run after every one seocnd ');
});

在此处输入图像描述

于 2016-12-05T12:54:09.957 回答
1

间隔 12 小时试试这个...

var job = new CronJob('0 0 12 * * *', function(){

  //email send code ..
});

0 --> 秒 0 --> 分钟

12--> 12小时间隔

于 2016-12-06T06:14:17.300 回答