微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

应用程序运行一段时间后节点 cron 任务不起作用node-cron、cronr、timexe

如何解决应用程序运行一段时间后节点 cron 任务不起作用node-cron、cronr、timexe

我试图让一个节点应用程序在我的笔记本电脑上运行一个 cron 作业,如果我在作业必须实际运行前不久启动该应用程序,它似乎可以工作。 我的意思是,例如,如果我将作业设置为在下午 2 点 05 分运行并在下午 2 点启动应用程序,它运行良好,但如果我在上午 10 点启动应用程序,我不知道为什么,作业没有运行(但应用程序仍在运行),这很奇怪。

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

这很奇怪,因为如果我在作业需要运行之前启动应用程序,一切运行良好,就好像应用程序运行很长时间使作业无法运行,但应用程序仍在运行。

>

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

代码,以防万一:

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()

解决方法

这是一个计划每分钟运行一次的定时任务:

("* * * * *")

首先,检查这个是否工作正常。
这是一个计划在每晚 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();

顺便说一句,我在这里给您留了一个页面链接,以便您更轻松地选择您的 cron 计划:https://crontab.guru/

希望对你有帮助

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

,

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。