首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在node js中设置服务器重启后不销毁的node-schedule作业

如何在node js中设置服务器重启后不销毁的node-schedule作业
EN

Stack Overflow用户
提问于 2020-03-10 20:02:51
回答 2查看 473关注 0票数 1

我通过以下代码创建了一个计划的作业:

代码语言:javascript
复制
const schedule = require('node-schedule');

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

用户输入cron作业时间,它必须工作,直到用户取消它。但问题是:

当我重新启动我的应用程序或重启服务器时,它会销毁。

我怎样才能永远做一个计划的作业?

EN

回答 2

Stack Overflow用户

发布于 2020-03-10 20:07:36

我擅自编辑了您的措辞,因为您实际上不是在谈论cron作业,而是您的Node.js进程中的一个计划作业。

您可以选择

  • 将计算机的实际cron功能设置为按计划在独立脚本中运行该函数(可以说是最简单的)
  • 将计算机的实际cron功能设置为在引导时启动脚本(@reboot) (但需要注意的是,如果服务关闭,您仍需负责确保启动服务)
  • 设置计算机的服务管理器(目前可能是Systemd )以独立脚本的形式按计划运行该函数(Systemd计时器)(比cron更现代)
  • 设置机器的服务管理器(现在很可能是Systemd ),以确保您的脚本在任何时候(Systemd单位)(可能是最健壮的)

都能运行

票数 1
EN

Stack Overflow用户

发布于 2020-03-10 20:13:21

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

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60617249

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档