【问题标题】:node-schedule should run every 1 hour in node jsnode-schedule 应该在 node js 中每 1 小时运行一次
【发布时间】:2021-05-14 07:19:15
【问题描述】:

我每分钟都创建了 cron 作业

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

但不幸的是,它并没有像预期的那样每小时工作一次。有什么我想念的吗

【问题讨论】:

  • 也不确定您是否在云中运行它,但请确保您的服务器也没有进入睡眠状态。
  • @alecwilson 有时我可能会重新启动服务器以使用 pm2 应用新的更改,如何在不重新启动的情况下进行纠正。
  • 我不太确定,您必须对此进行一些研究

标签: node.js scheduled-tasks node-schedule


【解决方案1】:

我认为你想要“0 */1 * * *”。你也可以使用这个很棒的网站来确保你的 crontab 是正确的:https://crontab.guru/

【讨论】:

    【解决方案2】:

    基于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)
    

    每隔一小时尝试一次

    schedule.scheduleJob('0 0 */1 * * *', async () => {
            console.log("running every minute")
     });
    

    【讨论】:

      【解决方案3】:

      应该是每小时:

      schedule.scheduleJob('0 0 */1 * * *', async () => {
           console.log("running every hour")
       });
      

      【讨论】:

        猜你喜欢
        • 2017-05-26
        • 1970-01-01
        • 2023-03-03
        • 1970-01-01
        • 2018-05-02
        • 1970-01-01
        • 1970-01-01
        • 2013-10-19
        • 2020-10-26
        相关资源
        最近更新 更多