节点 cron 任务在应用 运行 后一段时间不工作(node-cron、cronr、timexe)

Node cron task not working after app running for a while (node-cron, cronr, timexe)

我试图在我的笔记本电脑上留下一个带有 cron 作业 运行ning 的节点应用程序,如果我在作业实际 运行 前不久启动该应用程序,它似乎可以正常工作。 我的意思是,例如,如果我在 2:05 下午将工作设置为 运行,然后在下午 2 点启动应用程序,它 运行 没问题,但如果我开始上午 10 点的应用程序,我不知道为什么,作业没有 运行(但应用程序仍然 运行ning)这很奇怪。

有谁知道如果锁定我的 macbook(当然不是关闭机器)或让应用程序 运行长时间(比如超过 1-2 小时)使用节点或macOS 做了一些可能是我工作不 运行ning 的罪魁祸首,即使应用程序仍在 运行ning?

这很奇怪,因为如果我在工作需要 运行 之前启动应用程序,一切 运行 都很好,就像让应用程序 运行 宁很长时间使工作无法正常工作,但应用程序仍然 运行s.

我真的很困惑,希望我说清楚了。

代码,以防万一:

const Cronr = require("cronr");
const fetch = require("node-fetch");
const job = new Cronr("* 58 18 1 * * *", () => {
  fetch("https://google.com")
   .then((r) => r.text())
   .then((r) => {
     console.log(r);
});
job.start()

这是一个计划每分钟 运行 的 cronjob:

("* * * * *")

首先,检查这个是否工作正常。
这是一个计划在 运行 每晚 12:00:

的 cronjob 示例
("0 0 * * *")

可能与您的系统时钟有关,在我的情况下,我通常使用“普通 cron”依赖。

npm install cron

您可以指定您希望 cron 检查以执行计划的时区

var job = new CronJob('5 14 * * *', function() {
  console.log('You will see this message every day at 2:05 pm');
}, null, true, 'America/Los_Angeles');
job.start();

顺便说一下,我在这里给你留了一个 link 页面来更容易地选择你的 cron 计划:https://crontab.guru/

希望对您有所帮助

PS:我在使用其他 cron 依赖项时遇到了很多问题,我总是回到这个。

我终于发现是因为mac在显示器关闭时进入休眠状态。不确定这对程序有什么影响 运行 但我安装了安非他明并使其不会进入睡眠状态并且它起作用了。谢谢大家。