gpt4 book ai didi

node.js - 将工作人员添加到 PM2 池中。不要重新加载/重新启动现有的工作人员

转载 作者:太空宇宙 更新时间:2023-11-03 23:36:14 24 4
gpt4 key购买 nike

环境:Ubuntu 上的 Node.js,以编程方式使用 PM2。

我已经通过我的主代码上的 Node 启动了具有 3 个实例的 PM2。假设我使用 PM2 命令行删除其中一个实例。我可以将另一个 worker 添加回池中吗?可以在不影响其他worker操作的情况下完成吗?

我想我应该使用start方法:

pm2.start({
name : 'worker',
script : 'api/workers/worker.js', // Script to be run
exec_mode : 'cluster', // OR FORK
instances : 1, // Optional: Scale your app by 4
max_memory_restart : '100M', // Optional: Restart your app if it reaches 100Mo
autorestart : true
}, function(err, apps) {
pm2.disconnect();
});

但是,如果您使用 pm2 monit,您将看到 2 个现有实例已重新启动,并且不会创建其他实例。结果仍然是 2 个正在运行的实例。

更新clusterfork 并不重要——行为是相同的。

更新 2 命令行具有 scale 选项 ( https://keymetrics.io/2015/03/26/pm2-clustering-made-easy/ ),但我在编程 API 文档 ( https://github.com/Unitech/PM2/blob/master/ADVANCED_README.md#programmatic-api ) 上没有看到此方法.

最佳答案

我实际上认为这不能在 PM2 中完成,因为我有完全相同的问题。

很抱歉,但我认为解决方案是使用其他东西,因为 PM2 相当有限。缺乏增加更多员工的能力对我来说是一个大问题。

我知道如果您使用集群,您可以在命令行上“扩展”,但我不知道为什么如果您使用 fork,则无法启动更多实例。这没有任何意义。

关于node.js - 将工作人员添加到 PM2 池中。不要重新加载/重新启动现有的工作人员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32040956/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com