问题描述
我每分钟都在创建老太工作
import * as schedule from "node-schedule"
schedule.scheduleJob('* * * * *',async () => {
console.log("running every minute")
});
以上每分钟都能完美运行。同样,我有必须每小时执行一次的任务。我试过如下
schedule.scheduleJob('0 0 */1 * *',async () => {
console.log("running every minute")
});
但不幸的是,它并没有像预期的那样每小时都在工作。有没有我遗漏的东西
解决方法
我想你想要“0 */1 * * *”。您也可以使用这个很棒的网站来确保您的 crontab 是正确的:https://crontab.guru/
,基于 node-schedule 第三个 * 是小时
MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 onMessage listeners added to [EventEmitter]. Use emitter.setMaxListeners() to increase limit
每隔一小时就试试
* * * * * *
┬ ┬ ┬ ┬ ┬ ┬
│ │ │ │ │ │
│ │ │ │ │ └ 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)
,
每个小时应该是:
schedule.scheduleJob('0 0 */1 * * *',async () => {
console.log("running every hour")
});