En este tutorial, te mostraremos cómo ejecutar varios bots (o scripts) utilizando una sola oferta en OuiHeberg. Cubriremos dos métodos: uno utilizando Node.js y otro utilizando Python. Estos enfoques te permitirán ejecutar múltiples procesos en paralelo de manera eficiente.

Parte 1: Para las ofertas de alojamiento de bots NodeJS

Paso 1: Crea un nuevo archivo JavaScript

Crea un nuevo archivo JavaScript, por ejemplo launchBots.js, en el mismo directorio que tus scripts bot.

Paso 2: Escribe el código para lanzar los archivos en paralelo

Copia el siguiente código en tu archivo launchBots.js. Este código utiliza el módulo child_process, incluido por defecto con Node.js, para ejecutar cada script en paralelo.


const { spawn } = require('child_process');

// Lista de archivos a lanzar
const filesToExecute = ['script1.js', 'script2.js', 'script3.js'];

// Función para lanzar los archivos en paralelo
function runFilesInParallel() {
  filesToExecute.forEach((file) => {
    const childProcess = spawn('node', [file]);

    // Gestión de eventos de salida
    childProcess.stdout.on('data', (data) => {
      console.log(`[${file}] stdout: ${data}`);
    });

    childProcess.stderr.on('data', (data) => {
      console.error(`[${file}] stderr: ${data}`);
    });

    childProcess.on('close', (code) => {
      console.log(`[${file}] child process exited with code ${code}`);
    });
  });
}

// Lanzar los archivos en paralelo
runFilesInParallel();
    

Reemplaza los nombres de los archivos 'script1.js', 'script2.js' y 'script3.js' en el array filesToExecute por los nombres de tus scripts bot. Por ejemplo, si tienes dos bots llamados 'myFirstBot.js' y 'mySecondBot.js', el array filesToExecute debería verse así: ['myFirstBot.js', 'mySecondBot.js'].

Paso 3: Actualiza la configuración del servidor en OuiPanel

  1. Inicia sesión en tu cuenta de OuiPanel.
  2. Navega hasta la sección "Configuración del servidor".
  3. Busca la sección "Fichero JS de inicio".
  4. Reemplaza el nombre del archivo existente por launchBots.js.

Esto indica a OuiPanel que ejecute tu nuevo archivo JavaScript que lanzará todos tus bots.

Parte 2: Para las ofertas de alojamiento de bots Python

Paso 1: Crea un nuevo archivo Python

Crea un nuevo archivo Python, por ejemplo launch_bots.py, en el mismo directorio que tus scripts bot.

Paso 2: Escribe el código para lanzar los archivos en paralelo

Copia el siguiente código en tu archivo launch_bots.py. Este código utiliza el módulo subprocess de Python para ejecutar cada script en paralelo.


import subprocess

# Lista de archivos a lanzar
files_to_execute = ['script1.js', 'script2.js', 'script3.js']

# Función para lanzar los archivos en paralelo
def run_files_in_parallel():
    processes = []
    for file in files_to_execute:
        process = subprocess.Popen(['node', file], 
                                   stdout=subprocess.PIPE, 
                                   stderr=subprocess.PIPE, 
                                   text=True)
        processes.append((file, process))

    for file, process in processes:
        stdout, stderr = process.communicate()
        
        if stdout:
            print(f"[{file}] stdout: {stdout}")
        if stderr:
            print(f"[{file}] stderr: {stderr}")
        
        print(f"[{file}] child process exited with code {process.returncode}")

# Lanzar los archivos en paralelo
run_files_in_parallel()
    

Reemplaza los nombres de los archivos 'script1.js', 'script2.js' y 'script3.js' en el array files_to_execute por los nombres de tus scripts bot. Por ejemplo, si tienes dos bots llamados 'myFirstBot.js' y 'mySecondBot.js', el array files_to_execute debería verse así: ['myFirstBot.js', 'mySecondBot.js'].

Paso 3: Actualiza la configuración del servidor en OuiPanel

  1. Inicia sesión en tu cuenta de OuiPanel.
  2. Navega hasta la sección "Configuración del servidor".
  3. Busca la sección "Fichero de inicio".
  4. Reemplaza el nombre del archivo existente por launch_bots.py.

Esto indica a OuiPanel que ejecute tu nuevo archivo Python que lanzará todos tus bots.

Conclusion

¡Y listo! Has logrado lanzar varios bots utilizando una sola oferta en OuiHeberg, ya sea con Node.js o Python. Cada bot se ejecuta en su propio proceso, por lo que si un bot falla, no afectará a los demás. Este método te permite gestionar eficazmente varios scripts simultáneamente, optimizando así los recursos de tu servidor.

¡No dudes en compartir tus experiencias o hacer preguntas en los comentarios a continuación!