如何解决应用程序运行一段时间后节点 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 举报,一经查实,本站将立刻删除。