您无需设置所有字段。仅设置前三个字段,它将负责在每天午夜运行。
0 0 0 * * *
这很简单....
以下是每天凌晨12点运行cron job的代码:
var job = new CronJob('0 0 0 * * *', function() {
//will run every day at 12:00 AM
})
var CronJob=require('cron').CronJob;
var cronJob1 = new CronJob({
cronTime: '00 00 00 * * * ',
onTick: function () {
//Your code that is to be executed on every midnight
},
start: true,
runOnInit: false
});
以下是:
var CronJob = require('cron').CronJob;
var job = new CronJob('00 00 00 * * *', function() {
/*
* Runs every day
* at 00:00:00 AM.
*/
// DO SOMETHING
}, function () {
/* This function is executed when the job stops */
},
true /* Start the job right now */
);
import { CronExpression } from '@nestjs/schedule';
const EVERY_DAY_AT_MIDNIGHT = CronExpression.EVERY_DAY_AT_MIDNIGHT;
EVERY_DAY_AT_MIDNIGHT === "0 0 * * *"; // true;
1-31
作为日期字段的值等同于*
。除此之外,您的格式是正确的。如果您编辑问题并包含更多相关代码,我们可以帮助您弄清楚这里发生了什么。 - ttarik00 00 00 * * *
,0 0 0 * * *
和0 0 0 1-31
的定时任务都正常工作。问题出在 cron 代码中。 - Rajeev