8
mijam argumenty podczas tworzenia chlid procesynode.js widelec funkcji i przekazywanie argumentów do Rodziny procesu
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);
}
}
a następnie spróbuj odczytać go w Childs:
if (process.env["WORKER_NAME"] != undefined) instance.name = process.env["WORKER_NAME"];
ale var ISN istnieć, dlaczego?
v0.8.8 Węzeł
Ale dla mnie (ja zrobiłem nowa aplikacja tak samo jak twoja) nie działa, wyjście jest osiem "niezdefiniowane". Co to może być? Pracuję pod Unix x64 (freebsd) – ElSajko
Znalazłem powód, kiedy używam tego wiersza kodu, który nie działa, dlaczego ?: var server_store = new (require ("socket.io-clusterhub")); – ElSajko
To dlatego, że klastra zależność socket.io-clusterhub, https://github.com/fent/clusterhub, nadpisuje metodę cluster.fork i nie przekazuje env do oryginalnej metody. Obejściem byłoby edytowanie /node_modules/clusterhub/lib/fork.js, w którym nadpisuje metodę cluster.fork, przekazując env lub raport o błędzie z powyższym projektem clusterhub i czekając, aż je naprawią –