[英]Can I pass variables to cluster.fork in node.js?
因此,现在我有一堆聊天机器人,并且使用包装器将每个机器人作为一个子进程启动。 它派生一个配置文件。 但是,由于每个bot都有一个webiste,这意味着express必须在每个bot的唯一端口上运行。 我希望所有漫游器都在同一端口上运行网络服务器。 这导致我去看集群而不是孩子。
我目前正在使用child.fork(config.js);
生成机器人,它的工作效果可想而知。
但是,是否有任何方法可以将config变量传递给cluster.fork
以便每个工作人员都可以使用自己的登录凭据连接到自己的聊天室?
并且,如果有可能,有没有办法像子进程那样杀死/重新启动工人?
查看文档
您可以扩展process.env
,然后在分支过程中使用它。
var _ = require('lodash');
var child = require('child_process');
var env = _.clone(process.env);
env.BOT_ID = 'dalton';
child.fork('./config.js', { env: env });
我建议您在env
保留最少量的信息,然后仅使用它从JSON文件或其他内容中获取配置。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.