Método Node.js process.send()

El método process.send() es una interfaz de programación de aplicaciones incorporada del módulo de proceso que utiliza el proceso secundario para comunicarse con el proceso principal. Este método no funciona para el proceso raíz porque no tiene ningún proceso principal.

Sintaxis:

process.send(message, [sendHandle])

Parámetros: Este método acepta el siguiente parámetro:

  • mensaje: El mensaje que se tiene que enviar.
  • sendHandle: un objeto Socket o Server. Es un parámetro opcional.

Valor de retorno: valor booleano. Devuelve verdadero si el mensaje se envió con éxito; de lo contrario, devuelve falso.

Ejemplo 1: Primero, en Parent.js, generamos el proceso secundario. Luego comience a escuchar el proceso secundario. En Child.js, recibimos el mensaje en Child.js . Luego verificamos si el método de envío está disponible y luego enviamos un mensaje al padre usando process.send().

Parent.js

// Require fork method from child_process 
// to spawn child process
const fork = require('child_process').fork;
  
// Child process file
const child_file = 'Child.js';
  
// Spawn child process
const child = fork(child_file);
  
// Start listening to the child process
child.on('message', message => {
  
    // Message from the child process
    console.log('Message from child:', message);
});

Child.js

console.log('In Child.js')
  
// If the send method is available
if(process.send) {
  
    // Send Hello
    process.send("Hello, this is child process.");
}

Ejecute el archivo Parent.js usando el siguiente comando:

node Parent.js

Producción:

In Child.js
Message from child: Hello, this is child process.

Ejemplo 2: Múltiples mensajes del proceso hijo.

Parent.js

// Require fork method from child_process 
// to spawn child process
const fork = require('child_process').fork;
  
// Child process file
const child_file = 'Child.js';
  
// Spawn child process
const child = fork(child_file);
  
// Start listening to the child process
child.on('message', message => {
  
    // Message from the child process
    console.log('Message from child:', message);
});

Child.js

console.log('In Child.js')
  
// If the send method is available
if(process.send) {
  
    // Send Hello
    process.send("Hello, this is child process.");
  
    // Send multiple messages
    setTimeout((function() {
        return process.send("This was send after 1 second.");
    }), 1000);
  
    setTimeout((function() {
        return process.send("This was send after 2 seconds.");
    }), 2000);
  
    setTimeout((function() {
        return process.send("This was send after 3 seconds.");
    }), 3000); 
}

Ejecute el archivo Parent.js usando el siguiente comando:

node Parent.js

Producción:

In Child.js
Message from child: Hello, this is child process.
Message from child: This was sent after 1 second.
Message from child: This was sent after 2 seconds.
Message from child: This was sent after 3 seconds.

Referencia: https://nodejs.org/api/process.html#process_process_send_message_sendhandle_options_callback

Publicación traducida automáticamente

Artículo escrito por adityapande88 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *