node-schedule 应该在 node js 中每 1 小时运行一次

问题描述

我每分钟都在创建老太工作

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")
 });