Estoy forking un script de Python con NodeJS y cuando se bifurca, de forma predeterminada, NodeJS crea un IPC entre este nuevo proceso y el principal.
Con NodeJS, para enviar un mensaje de un hijo al padre, hago process.send({msg : 'toto'})
¿Cómo puedo hacer eso con Python?
http://nodejs.org/api/child_process.html#child_process_child_process_spawn_command_args_options
Ok lo encontré, finalmente es bastante fácil. Solo se trata de escribir en el descriptor de archivo correcto.
En el parámetro del lado NodeJS, genere su script así:
var child = child_process.spawn('python', ['hello.py'], { stdio:[null, null, null, 'ipc'] }); child.on('message', function(message) { console.log('Received message...'); console.log(message); });
Como el canal ‘ipc’ es el parámetro número 4, tendrá que escribir en el descriptor de archivos 3. En el lado de Python:
import os os.write(3, '{"dt" : "This is a test"}\n', "utf8")
Hecho. Recibirá el mensaje en el child.on (callback de ‘mensaje’.
Saludos!