Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

pierrem's avatar

Queue:work

hi there,

I'm being hosted on a shared hosting (Inmotionhosting) where I can't setup a supervisor.

So I setup a crontask to launch queue:work everyday at noon by the following command

php artisan queue:work --timeout=60 --sleep=5 --tries=3

When launching the command within the scheduler as follow :

$schedule->command('queue:work --timeout=60 --sleep=5 --tries=3')->everyMinute()->withoutOverlapping();
mails weren't sent at all

I have tasks running mostly hourly which send mails. On the second day there are two queue running and basically mails are sent twice. The first task seems to die within the second day at arbitrary time. So I don't control the process and timeout argument doesn't seems to work.

I have searched over to find a way to see whether queue is working or not and relaunching if not but what I tried so far didn't worked.

Do you have a solution

0 likes
2 replies
shez1983's avatar

how much are you paying for shared hosting? its almost as cheap to get your own VPS these days...

regarding your problem - no idea sorry

z900collector's avatar

Are you trying to empty the queue and then terminate or are you trying to ensure that your queue worker is still running by trying to reschedule a dead queue worker?

Please or to participate in this conversation.