In questo tutorial, ti mostreremo come avviare più bot (o script) utilizzando un'unica offerta su OuiHeberg. Copriremo due metodi: uno utilizzando Node.js e un altro utilizzando Python. Questi approcci ti permetteranno di eseguire più processi in parallelo in modo efficiente.
Parte 1: Per le offerte di hosting bot NodeJS
Passaggio 1: Crea un nuovo file JavaScript
Crea un nuovo file JavaScript, ad esempio launchBots.js, nella stessa directory dei tuoi script bot.
Passaggio 2: Scrivi il codice per avviare i file in parallelo
Copia il seguente codice nel tuo file launchBots.js. Questo codice utilizza il modulo child_process, incluso di default con Node.js, per eseguire ogni script in parallelo.
const { spawn } = require('child_process');
// Lista dei file da avviare
const filesToExecute = ['script1.js', 'script2.js', 'script3.js'];
// Funzione per avviare i file in parallelo
function runFilesInParallel() {
filesToExecute.forEach((file) => {
const childProcess = spawn('node', [file]);
// Gestione degli eventi di uscita
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}`);
});
});
}
// Avvia i file in parallelo
runFilesInParallel();
Sostituisci i nomi dei file 'script1.js', 'script2.js' e 'script3.js' nell'array filesToExecute con i nomi dei tuoi script bot. Ad esempio, se hai due bot chiamati 'myFirstBot.js' e 'mySecondBot.js', l'array filesToExecute dovrebbe essere così: ['myFirstBot.js', 'mySecondBot.js'].
Passaggio 3: Aggiorna la configurazione del server su OuiPanel
- Accedi al tuo account OuiPanel.
- Vai alla sezione "Configurazione del server".
- Cerca la sezione "File JS di avvio".
- Sostituisci il nome del file esistente con
launchBots.js.
Questo indica a OuiPanel di eseguire il tuo nuovo file JavaScript che avvierà tutti i tuoi bot.
Parte 2: Per le offerte di hosting bot Python
Passaggio 1: Crea un nuovo file Python
Crea un nuovo file Python, ad esempio launch_bots.py, nella stessa directory dei tuoi script bot.
Passaggio 2: Scrivi il codice per avviare i file in parallelo
Copia il seguente codice nel tuo file launch_bots.py. Questo codice utilizza il modulo subprocess di Python per eseguire ogni script in parallelo.
import subprocess
# Lista dei file da avviare
files_to_execute = ['script1.js', 'script2.js', 'script3.js']
# Funzione per avviare i file in parallelo
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}")
# Avvia i file in parallelo
run_files_in_parallel()
Sostituisci i nomi dei file 'script1.js', 'script2.js' e 'script3.js' nell'array files_to_execute con i nomi dei tuoi script bot. Ad esempio, se hai due bot chiamati 'myFirstBot.js' e 'mySecondBot.js', l'array files_to_execute dovrebbe essere così: ['myFirstBot.js', 'mySecondBot.js'].
Passaggio 3: Aggiorna la configurazione del server su OuiPanel
- Accedi al tuo account OuiPanel.
- Vai alla sezione "Configurazione del server".
- Cerca la sezione "File di avvio".
- Sostituisci il nome del file esistente con
launch_bots.py.
Questo indica a OuiPanel di eseguire il tuo nuovo file Python che avvierà tutti i tuoi bot.
Conclusione
Ecco fatto! Sei riuscito ad avviare più bot utilizzando un'unica offerta su OuiHeberg, sia con Node.js che con Python. Ogni bot viene eseguito nel proprio processo, quindi se un bot si blocca, non influenzerà gli altri. Questo metodo ti permette di gestire efficacemente più script contemporaneamente, ottimizzando così le risorse del tuo server.
Non esitare a condividere le tue esperienze o a porre domande nei commenti qui sotto!
