【问题标题】:PM2 - Is this considered a good practicePM2 - 这是否被认为是一种好习惯
【发布时间】:2018-02-02 08:11:51
【问题描述】:

在我的项目中,我有几台使用 PM2 运行 NodeJS 应用程序的服务器,这些服务器不是我创建的。我对PM2不太熟悉。现在我需要启动一个新服务器,它只是一个查询 ElasticSearch 实例的 CRON 进程。 里面没有路由或任何东西,只是一个带有一些日志记录的 CRON。 这是我的困境。我玩过 PM2,对它是什么以及它的作用有了一些了解。但问题是我该如何运行它?

之前的项目确实有带有许多参数的 PM2 config.json,它们以集群模式启动(使用 Nginx 处理),当我启动它们时,我看到所有进程都变成了守护进程。但就我而言,我不需要那个。我只需要它作为单一服务运行。

换句话说,如果我使用配置文件运行 PM2,我会看到它以集群模式生成,并且由于我的 CRON 被多次触发,它会造成混乱。我不需要那个。如果我在 Fork 模式下启动它,它也会生成实例,但它们都死了,除了一个(由于它们使用相同的端口)。我也不需要那个。 我只需要单一服务。

我设法用单行运行了我的 CRON app.js,简单如下: PM2 启动 app.js。它在单线程中运行,我可以看到它的 PM2 状态信息。一切都好。

如果我用单行运行它(如我的情况),它被认为可以吗?据我所知,如果我使用 config.json,它将始终在 fork 或集群中运行它。 是否可以单行运行,还是我还需要使用 config.json 文件。

【问题讨论】:

  • 查询完成后是否应该停止进程?
  • 没有。它无限期地运行。

标签: node.js pm2


【解决方案1】:

如果您只需要运行一个进程,那么您就是在做正确的事情。

【讨论】:

    猜你喜欢
    • 2021-05-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-28
    • 1970-01-01
    • 2016-01-13
    相关资源
    最近更新 更多