Comment lancer plusieurs bots avec une seule offre Node.js/Python sur OuiHeberg
Dans ce tutoriel, nous allons vous montrer comment lancer plusieurs bots (ou scripts) en utilisant une seule offre sur OuiHeberg. Nous allons couvrir deux méthodes : une utilisant Node.js et une autre utilisant Python. Ces approches vous permettront d'exécuter plusieurs processus en parallèle efficacement.
Partie 1 : Pour les offres d'hébergement de bots NodeJS
Étape 1 : Créez un nouveau fichier JavaScript
Créez un nouveau fichier JavaScript, par exemple launchBots.js
, dans le même répertoire que vos scripts bot.
Étape 2 : Écrivez le code pour lancer les fichiers en parallèle
Copiez le code suivant dans votre fichier launchBots.js
. Ce code utilise le module child_process
, inclus par défaut avec Node.js, pour exécuter chaque script en parallèle.
const { spawn } = require('child_process');
// Liste des fichiers à lancer
const filesToExecute = ['script1.js', 'script2.js', 'script3.js'];
// Fonction pour lancer les fichiers en parallèle
function runFilesInParallel() {
filesToExecute.forEach((file) => {
const childProcess = spawn('node', [file]);
// Gestion des événements de sortie
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}`);
});
});
}
// Lancer les fichiers en parallèle
runFilesInParallel();
Remplacez les noms des fichiers 'script1.js'
, 'script2.js'
, et 'script3.js'
dans le tableau filesToExecute
par les noms de vos scripts bot. Par exemple, si vous avez deux bots nommés 'myFirstBot.js'
et 'mySecondBot.js'
, le tableau filesToExecute
devrait ressembler à ceci : ['myFirstBot.js', 'mySecondBot.js']
.
Étape 3 : Mettez à jour la configuration du serveur sur OuiPanel
- Connectez-vous à votre compte OuiPanel.
- Naviguez jusqu'à la section "Configuration du serveur".
- Recherchez la section "Fichier JS de démarrage".
- Remplacez le nom du fichier existant par
launchBots.js
.
Cela indique à OuiPanel d'exécuter votre nouveau fichier JavaScript qui lancera tous vos bots.
Partie 2 : Pour les offres d'hébergement de bots Python
Étape 1 : Créez un nouveau fichier Python
Créez un nouveau fichier Python, par exemple launch_bots.py
, dans le même répertoire que vos scripts bot.
Étape 2 : Écrivez le code pour lancer les fichiers en parallèle
Copiez le code suivant dans votre fichier launch_bots.py
. Ce code utilise le module subprocess
de Python pour exécuter chaque script en parallèle.
import subprocess
# Liste des fichiers à lancer
files_to_execute = ['script1.js', 'script2.js', 'script3.js']
# Fonction pour lancer les fichiers en parallèle
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}")
# Lancer les fichiers en parallèle
run_files_in_parallel()
Remplacez les noms des fichiers 'script1.js'
, 'script2.js'
, et 'script3.js'
dans le tableau files_to_execute
par les noms de vos scripts bot. Par exemple, si vous avez deux bots nommés 'myFirstBot.js'
et 'mySecondBot.js'
, le tableau files_to_execute
devrait ressembler à ceci : ['myFirstBot.js', 'mySecondBot.js']
.
Étape 3 : Mettez à jour la configuration du serveur sur OuiPanel
- Connectez-vous à votre compte OuiPanel.
- Naviguez jusqu'à la section "Configuration du serveur".
- Recherchez la section "Fichier de démarrage".
- Remplacez le nom du fichier existant par
launch_bots.py
.
Cela indique à OuiPanel d'exécuter votre nouveau fichier Python qui lancera tous vos bots.
Conclusion
Et voilà ! Vous avez réussi à lancer plusieurs bots en utilisant une seule offre sur OuiHeberg, que ce soit avec Node.js ou Python. Chaque bot s'exécute dans son propre processus, donc si un bot plante, il n'affectera pas les autres. Cette méthode vous permet de gérer efficacement plusieurs scripts simultanément, optimisant ainsi les ressources de votre serveur.
N'hésitez pas à partager vos expériences ou à poser des questions dans les commentaires ci-dessous!
Nom de l'auteur
OUIHEBERG SARL
Catégories
Tutoriels
Date
28/06/2024