如何在 Node 中每天上午 9 点将任务安排到 运行?
How to Schedule a task to run at every day at 9 AM in Node?
我查看了node-schedule
* * * * * *
┬ ┬ ┬ ┬ ┬ ┬
│ │ │ │ │ │
│ │ │ │ │ └ day of week (0 - 7) (0 or 7 is Sun)
│ │ │ │ └───── month (1 - 12)
│ │ │ └────────── day of month (1 - 31)
│ │ └─────────────── hour (0 - 23)
│ └──────────────────── minute (0 - 59)
└───────────────────────── second (0 - 59, OPTIONAL)
我在每个上午 9 点对 运行 进行了同样的操作,但它每天 运行 不止一次。
let tenSecCron = schedule.scheduleJob('0 0 9 * * *', async () => {
this.runJobs();
});
我认为正确的 cron 表达式是这样的:
0 0 9 ? * * *
如果您的调度程序违背了上述表达式,later.js 是获得准确结果的好库。
另一种方法是使用object literal syntax,如下所示:
var j = schedule.scheduleJob({hour: 9, minute: 0} , async () => {
this.runJobs();
});
除此之外,应该注意 node-schedule
是一个内存调度器,因此它不是基于 cron
。因此,调度仅在 node.js 进程为 运行 时才有效。如果重新启动,您可能会遇到奇怪的效果,例如您的作业会立即安排。
我查看了node-schedule
* * * * * *
┬ ┬ ┬ ┬ ┬ ┬
│ │ │ │ │ │
│ │ │ │ │ └ day of week (0 - 7) (0 or 7 is Sun)
│ │ │ │ └───── month (1 - 12)
│ │ │ └────────── day of month (1 - 31)
│ │ └─────────────── hour (0 - 23)
│ └──────────────────── minute (0 - 59)
└───────────────────────── second (0 - 59, OPTIONAL)
我在每个上午 9 点对 运行 进行了同样的操作,但它每天 运行 不止一次。
let tenSecCron = schedule.scheduleJob('0 0 9 * * *', async () => {
this.runJobs();
});
我认为正确的 cron 表达式是这样的:
0 0 9 ? * * *
如果您的调度程序违背了上述表达式,later.js 是获得准确结果的好库。
另一种方法是使用object literal syntax,如下所示:
var j = schedule.scheduleJob({hour: 9, minute: 0} , async () => {
this.runJobs();
});
除此之外,应该注意 node-schedule
是一个内存调度器,因此它不是基于 cron
。因此,调度仅在 node.js 进程为 运行 时才有效。如果重新启动,您可能会遇到奇怪的效果,例如您的作业会立即安排。