Ich habe ein Problem beim Bereitstellen der gleichen Module oder Objekte zu meinem Child-Prozess. Da es keine Möglichkeit gibt, ein normales Objekt an meinen Child-Prozess zu senden (ich kann nur den "Server", einen Socket oder ein JSON-Objekt senden), habe ich versucht, ein Modul zu erstellen, das ich in meiner Hauptapp.js benötige , setze alle notwendigen Daten darauf, und als in meinem Kindprozess würde ich es auch benötigen.Node.js - Erfordern dasselbe Modul in Child-Prozess
Das Problem ist, dass ich in meinem Child-Prozess ein anderes Objekt erhalte, nicht das, das ich in meiner app.js erstellt habe. Ich habe versucht, ein einfaches Objekt verwendet wird, und eine Eigenschaft auf sie einstellt, sowie eine Funktion ...
//module file
var Data = function(){
this.data = null;
return this;
};
module.exports = Data;
... dass ich so benutzen ...
//app.js
var module = require("moduleName")();
module.data = "something";
... aber in meinem Kind Prozess, Daten noch null
//Child process
var module = require("moduleName")();
console.log(module.data); --> null
Beide Dateien (app.js und die Datei des Child-Prozess) sind im selben Projekt, und das Verzeichnis.
Meine einzige gues ist, weil ich mit fork()
meinem Kind Prozess erstellt, könnte es einen anderen Cache für Module ...
So ist es eine Möglichkeit, mit Hilfe kann ich, immer das gleiche Objekt in meinem Kind Prozess erreichen oder gibt es eine Möglichkeit, ein Objekt (nicht JSON) an meinen Child-Prozess zu senden?
Vielen Dank im Voraus!
Danke für die schnelle Antwort! Ich benutze bereits eine Kommunikationsleitung zwischen den beiden, aber die Art, wie ich erwähnt habe, wäre ein bisschen einfacher gewesen. :-) Jedenfalls bleibe ich dabei, jetzt ist klar, dass ich das nicht erreichen kann. – Dave
@ Dave ich eine Antwort mit einer Art und Weise aktualisiert Kindprozesse zu informieren, dass ein Objekt geändert hat und sie neue Daten jedes Mal zu senden. Sie könnten auch andersherum gehen und Daten vom Kindprozess zum Elternteil senden. – rsp
Ja, ich bin schon mit diesem Ansatz, aber ich dachte, dass, wenn ich dort eine Menge Kommunikation zwischen dem Haupt ist, und das Kind Prozess, über die Sende- und Combo (und vor allem, weil es nur einen Kanal, den Sie mit Verwenden Sie), könnte es den Kindprozess verlangsamen, aber es ist nur eine Vermutung. Deshalb habe ich ein paar Dinge in der Kind-Prozess (die bereits im Einsatz sind in meinem app.js) enthalten wollte, so konnte ich ein paar andere Kanäle (wie mit dem socket.io liefern, die ich bereits in meiner App feuert. js) – Dave