Vai al contenuto

Come configurare Supervisor per automatizzare Queue:work


Askancy

Messaggi raccomandati

  • Admin

Vi sarà capitato di dover eseguire i Jobs, magari tramite un click dal vostro admin o da un command, e questo però non viene eseguito finché non siate voi ad avviare i jobs tramite ssh con il comando:

php artisan queue:work

e veder quindi avviare i propri Jobs. Bene, questo però non è il modo corretto con cui sono stati ideati i Jobs. I Jobs dovrebbero essere eseguiti in maniera autonoma, senza che l'utente acceda tramite l'ssh per avviare il comando. Per far questo è necessario creare un nuovo worker per il supervisore che si occuperà a riavviare l'operatore delle code ogni volta che viene interrotto.

 

Per far questo è necessario entrare tramite SSH con l'utente root o con un utente con diritti sudo, e installare il supervisor:

sudo apt-get install supervisor

Adesso sarà necessario creare un worker per il supervisor in cui indichiamo il processo che deve sempre eseguire ogni volta che si riavvia il server o ha qualsiasi altra interruzione, questo comando genererà un file chiamato laravel-worker.conf in etc/supervisor/conf.d/

sudo nano /etc/supervisor/conf.d/laravel-worker.conf

Il contenuto del nostro file laravel-worker.conf sarà:

[program:laravel-worker]
process_name=%(program_name)s_%(process_num)02d
command=/opt/plesk/php/8.3/bin/php /var/www/vhosts/yourdomain.com/httpdocs/artisan queue:work
autostart=true
autorestart=true
user=your-username
numprocs=1
redirect_stderr=true
stdout_logfile=/var/www/vhosts/yourdomain.com/httpdocs/storage/logs/worker.log

Attenzione, in questo file sarà necessario effettuare alcune modifiche:

  • Sostituisci php/8.3 con la versione di php che stai utilizzando te.
  • modificare i due yourdomain.com con il vostro dominio in cui è installato laravel
  • modificare your-username di user= con il nome utente proprietario dei file di laravel

Adesso salva il file utilizzando ctrl+x, una volta salvato il file è necessario dire a Supervisor di leggere la nuova configurazione e di aggiornarla con:

sudo supervisorctl reread
sudo supervisorctl update

Avviamo il processo Laravel Worker con:

sudo supervisorctl start laravel-worker

Per verificare se il processo è attivo:

sudo supervisorctl status

 

Link al commento
Condividi su altri siti

Crea un account o accedi per lasciare un commento

Devi essere un membro per lasciare un commento

Crea un account

Iscriviti per un nuovo account nella nostra community. È facile!

Registra un nuovo account

Accedi

Sei già registrato? Accedi qui.

Accedi Ora
  • Chi sta navigando   0 utenti

    • Nessun utente registrato visualizza questa pagina.
×
×
  • Crea Nuovo...

Informazioni importanti

Abbiamo inserito dei cookies nel tuo dispositivo per aiutarti a migliorare la tua esperienza su questo sito. Puoi modificare le impostazioni dei cookie, altrimenti puoi accettarli cliccando su continua. to insert a cookie message.