簡體   English   中英

我可以在node.js中將變量傳遞給cluster.fork嗎?

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM