skip to Main Content

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

Answers


  1. Chosen as BEST ANSWER

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

    /usr/local/bin/ea-php81
    

  2. 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

    Login or Signup to reply.
  3. 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.

    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search