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
- Inicia sesión en tu cuenta de OuiPanel.
- Navega hasta la sección "Configuración del servidor".
- Busca la sección "Fichero JS de inicio".
- 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
- Inicia sesión en tu cuenta de OuiPanel.
- Navega hasta la sección "Configuración del servidor".
- Busca la sección "Fichero de inicio".
- 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!

