[英]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.