8
我传递参数时,创建子女学费流程的Node.js fork函数和参数传递给子进程
if (cluster.isMaster) {
for (var i = 0; i < os.cpus().length; i++) {
var new_worker_env = {};
new_worker_env["WORKER_NAME"] = "worker" + i;
var new_worker = cluster.fork(new_worker_env);
}
}
,然后尝试在孩子的阅读它:
if (process.env["WORKER_NAME"] != undefined) instance.name = process.env["WORKER_NAME"];
但这种变种ISN不存在,为什么?
节点v0.8.8
但对我来说(我做了新的应用程序与你的相同)它不起作用,输出是八个“未定义”。它可能是什么?我在Unix下工作x64(freebsd) – ElSajko
我发现原因,当我使用这行代码它不起作用时,为什么?:var server_store = new(require(“socket.io-clusterhub”)); – ElSajko
因为socket.io-clusterhub依赖关系clusterhub,https://github.com/fent/clusterhub覆盖了cluster.fork方法,并且不会将env传递给原始方法。解决方法是编辑/node_modules/clusterhub/lib/fork.js,它覆盖了cluster.fork方法,以便将上面的clusterhub项目的env或文件错误报告传递给它,并等待它们修复它 –