how to run `php artisan queue:work` every minute on cpanel?

2.5k views Asked by At

I made an cronjob in cpanel for once per minute like this:

enter image description here

and make a command for that like this:

enter image description here

as you see I give the artisan path to that.

and in this path :/home/{projcetname}/laravel/app/Console/Kernel.php I wrote the commands.

but queue table is full.

how can I run queue:work for always ?

thanks

3

There are 3 answers

2
Snapey On BEST ANSWER

You can create an entry in your kernel.php that regularly starts a queue worker with the --stop-when-empty flag. I wrote this technique up a little while back and have used it effectively on several sites https://talltips.novate.co.uk/laravel/using-queues-on-shared-hosting-with-laravel

1
Mohammad.Kaab On

How you can run queue:work is the same of how you ran schedule run, Just define a new cron job

* * * * * /usr/local/bin/php /home/sabbabecom/laravel/artisan queue:work --once >/dev/null 2>&1

But when you say always, Does it mean like you want to run it every time it finishes with the current job. If that so then you need to have a supervisor otherwise you can just use the approach i've wrote and it should works fine. At least that what i've understood from your question.

0
aref razavi On

the problem was about php version I change the php command to this and it's work:

/usr/local/bin/ea-php81