繁体   English   中英

如何在节点 js 中设置服务器重启后不会破坏的节点计划作业

[英]how to set a node-schedule job that it doesn't destroy after server reboot in node js

我通过以下代码做了一个预定的工作:

const schedule = require('node-schedule');

scheduleAuto1A = schedule.scheduleJob(time, function(){
    // do some
});

用户输入 cron 作业时间,它必须工作,直到用户取消它。 但问题是:
当我重新启动我的应用程序或重新启动服务器时,它会破坏。
我怎样才能永远做一个预定的工作?

我冒昧地编辑了您的措辞,因为您确实不是在谈论 cron 作业,而是在您的 Node.js 进程中计划的作业。

你可以

  • 设置机器的实际cron功能以按计划在独立脚本中运行该功能(可以说是最简单的)
  • 设置机器的实际cron功能以在启动时启动脚本( @reboot(但需要注意的是,如果服务关闭,您仍然负责确保启动服务)
  • 设置机器的服务管理器(现在可能是 Systemd)以按计划在独立脚本中运行该功能(Systemd 计时器) (比 cron 更现代)
  • 设置机器的服务管理器(现在可能是 Systemd)以确保您的脚本始终运行(Systemd 单元) (可能是最健壮的)

您可以使用 Crontab(本机 linux/unix 程序)实用程序来安排您的作业。 如果你想通过 node.js 来做,你可以使用 PM2(简单易行)。 否则,您可以创建 systemd 脚本以在启动时启动您的程序。

https://unix.stackexchange.com/questions/47695/how-to-write-startup-script-for-systemd

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM