PM2+ncrontab 定时启停 node.js 进程

阅读时长 5 分钟读完

如果你是一个 Node.js 开发者,你会发现自己需要手动启动和停止程序并不是一个理想的工作方式。PM2 是一个管理现代 Node.js 应用的特别适合的工具。可以管理应用程序、集群和守护进程并支持代码热重载。

在本文中,我们将看到如何使用 PM2 和 ncrontab 来定时启动和停止 Node.js 进程。

安装 PM2

要使用 PM2 来管理应用程序,首先需要安装它。使用以下命令进行全局安装:

安装成功后,打开命令行并输入以下命令以启动我们的 Node.js 应用:

这将启动你的应用程序并开始跟踪日志输出。

使用以下命令将应用程序添加到 PM2 的自启动项列表中:

这将创建一个 init 脚本,该脚本将在系统启动时自动启动应用程序。

安装 ncrontab

ncrontab 是一个具有类 Unix Cron 语法的作业调度程序,并提供类似于 Linux Cron 作业调度的作业调度功能。

使用以下命令将 ncrontab 安装到项目中:

监听命令

要定时启动和关闭我们的 Node.js 进程,我们需要编写一些命令并使用 ncrontab 监听这些命令。

以下是我们需要执行的命令:

现在我们需要编写一个函数,该函数将用于启动或停止 Node.js 进程。以下是我们应该编写的函数:

-- -------------------- ---- -------
----- --- - ---------------
----- -------- ------------------- -
  ----- ------------ - ------- -- ----------- -------------
  --- -
    ----- -------- - ----- -------------------
    ----- -------------------------------------------
    ----------------------
    ------------------------ ----------- ----------------
  - ----- ----- -
    ----------------------------
    -------------------
  -
-

该函数使用 pm2 模块启动或停止 Node.js 进程。

我们的下一步是配置 ncrontab 监听器。以下是我们应该编写的函数:

-- -------------------- ---- -------
----- -------- - --------------------
----- -------- ------------------ -
  ----- -------------------------- -- -------------------
-
----- -------- ---------------- -
  --- -
    ----- ---- - -- -- --------------------
    ----- ---- - ---------------------- ------
    ---------------- ----------- --- ---- -------------
  - ----- ----- -
    --------------------- -- -------- --- ---------------
    -------------------
  -
-

该函数使用 ncrontab 模块为每个作业启动计划程序。对于每个作业,我们提供作业名、计划、需要执行的任务和计划的时区。

编写作业调度规则

现在,我们可以编写作业调度规则。一个作业调度规则指定了何时启动和停止 Node.js 进程。

以下是一个作业调度规则示例:

-- -------------------- ---- -------
----- ---- - -
  -
    ----- ---------
    ----- --------
    --------- -- - - - --- -- -- ----- --
    --------- ----------------
  --
  -
    ----- ---------
    ----- -------
    --------- -- -- - - --- -- -- ----- --
    --------- ----------------
  --
--
-------------------

这将设置一个作业,该作业将在每天早上 12:00 AM 启动 Node.js 服务器,然后在每天下午 12:00 PM 停止它。

总结

使用 PM2 和 ncrontab,我们可以轻松地在 Node.js 服务器上启动和停止进程。通过编写适当的作业调度规则,我们可以灵活控制 Node.js 进程的运行时间。

我们在本文中演示了如何使用 PM2 和 ncrontab 来启动和停止 Node.js 进程。如果你在使用 Node.js 开发应用程序,确保在项目中使用这些工具以提高效率和可靠性。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6503d2c795b1f8cacd09def8

纠错
反馈