Jump to content

Come configurare Supervisor per automatizzare Queue:work


Askancy

Recommended Posts

  • 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 to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. to insert a cookie message.