1
votes

Since I've upgraded my Laravel application from 5.4 to 5.5 and added Laravel Horizon, my queue isn't working anymore. Here is the old situation which worked:

The driver I used was Beanstalkd and Supervisord for monitoring the task and keep it up and running. I ran it using this command:

php artisan queue:work --tries=1 --queue=high,medium,low

New situation: I've updated the queue driver to Redis. When I take a look at mydomain.com/horizon, I see the tasks coming in but not being processed. Running the following command from the terminal doesn't work either:

php artisan queue:work --tries=1 --queue=high,medium,low

I have 2 queues that are filled, the Redis queue and the Beanstalkd queue. How can I finish the Beanstalkd queue and then process the Horizon queue?

1
When you run php artisan queue:work without specifying a connection it'll just use the default connection - im assuming you have separate connection entries for your beanstalk and redis drivers. you can specify the connection with php artisan queue:work beanstalk or php artisan queue:work redis (whatever your connections are called)aarcarr
.... the connections should be in config/queue.phpaarcarr
Have you tried specifying the driver as part of the command? php artisan queue:work redis --queue=whateverDave Carruthers
... your .env should have the default queue driver ie. QUEUE_DRIVER=redisaarcarr
@aarcarr i've tried that. php7 artisan queue:listen beanstalkd --tries=1 --queue=high,medium,low,default but there wasnt any output. i also configured my .env fileDonny van V

1 Answers

6
votes

I figured out that the command artisan down will block the queue workers :) So after running artisan up everything works good... I think its time for the weekend :P