每6小时cron模式不适用于Nodejs cron

问题描述:

我每六小时有一个cron模式0 0 0/6 ? * *。我已经使用的NodeJS的cron执行cron作业,下面是我的代码:每6小时cron模式不适用于Nodejs cron

var CronJob = require('cron').CronJob; 
    new CronJob('0 0 0/6 ? * *', function() { 
      console.log(new Date(), 'Every 6 hours'); 
      try { 
       // task to be executed 
      } catch (e) { 
       console.log(e); 
      } 
     }, function() {}, 
     true 
).start(); 

我我的程序的启动过程中得到这个异常:

"stack": [ 
    "Error: Field (?) cannot be parsed", 
    " at Object._parseField (/home/ajit/git/test/BackEnd/node_modules/cron/lib/cron.js:344:11)", 
    " at Object._parse (/home/ajit/git/test/BackEnd/node_modules/cron/lib/cron.js:308:9)", 

我已经在这个网站选中此模式:http://www.cronmaker.com/,它说我的cron是有效的。我搜索了互联网,我无法得到一个有效的6位数的克伦模式没有?

+0

我的英语知识说:'?符号/标记不能被解析,并且我第一次看到它(所以修正是:'0 0 */6 * * *'顺便说一句cronmaker可以用秒钟来理解crons,所以可以说它没问题(: – num8er

+3

[node-cron运行作业每3小时]可能重复(https://stackoverflow.com/questions/41597538/node-cron-run-job-every-3-hours) –

+0

我试过这种模式'0 0 */6 * * *'它不起作用 –

Cron package documentation中所述,模式基于this specification。您不能在模式中使用?

仅仅通过一个*,同为0/6更换?

var CronJob = require('cron').CronJob; 
    new CronJob('0 0 */6 * * *', function() { 
      console.log(new Date(), 'Every 6 hours'); 
      try { 
       // task to be executed 
      } catch (e) { 
       console.log(e); 
      } 
     }, function() {}, 
     true 
); 

编辑

基础上documentation再次,似乎true标志作为第三传递参数立即开始工作,所以您不必调用start方法。

+0

我已经尝试过,但它不工作。 –

+0

@AjitSoman你的意思是“它不工作”? – Erazihel

+0

我已将系统时间设置为11:59 PM,但cron作业未触发 –