Aktualnie mam operację w module, który jest blokowany, więc szukam tego w procesie potomnym, który zamiast tego rozwidla.Rozwidlenie procesu potomnego i wstrzyknięcia zależnego
Jeśli chcę to zrobić, to oczywiście muszę zmodyfikować architekturę mojego modułu. Moduł wymaga, że zależność jest wstrzykiwany przez wywołanie modułu jako funkcję, przekazując w zależności, jak w przykładzie:
var dependency = { name: "Bob" }
require('worker')(dependency)
potem w moim module worker
:
module.exports = function (dependency) {
// Outputs { name: "Bob" }
console.log(dependency)
}
Jak mogę włączyć tego przykładu do rozwidlenia procesu potomnego?
rozwidlić dziecko, a następnie wysłać zależność od rodzica za pomocą child.send (wiadomość).Przekazany obiekt nie może być cykliczny. http://nodejs.org/api/all.html#all_child_process_fork_modulepath_args_options –
@GabrielLlamas muszę użyć 'child.send (komunikat)' później faktycznie wysyłać dane do pracownika (a nie zależności). Nie rozumiem, w jaki sposób mój pracownik może rozróżnić, jaki rodzaj wiadomości jest wysyłany i jak sobie z nimi radzić. –
cóż, robiłem kompletny przykład, gdy przyjąłeś inną odpowiedź, spójrz na to! –