Laravel Tutorials

Use queue:listen instead of queue:work when developing locally

Published
Use queue:listen instead of queue:work when developing locally image

Laravel has a powerful queue system in place and when you are utilizing queues you need to run workers. Typically, in production you would use the queue:work command to start them but these are considered long-lived processes and store the booted application state in memory. So this means after you make any code changes you’ll need to restart them that way they have a fresh state.

When developing locally this can get burdensome, and if you are like me you might forget to restart them. Leaving you scratching your head why the changes you made aren’t working. I’ve personally wasted a lot of time doing this and I think it’s something easy to forget. To make this a problem of the past Laravel provides a queue:listen command designed for working locally. It doesn’t boot the application state in memory so you never have to restart the queues when making code changes.

Both commands are equivalent as well.

php artisan queue:work --queue=high,default

Is the same as:

php artisan queue:listen --queue=high,default

Keep in mind though that you should never use queue:listen in production because it is significantly less efficient than the queue:work command.

Eric L. Barnes photo

Eric is the creator of Laravel News and has been covering Laravel since 2012.

Sponsored

laravelcloud logo
Laravel Cloud

Easily create and manage your servers and deploy your Laravel applications in seconds.

Visit Laravel Cloud

The latest

View all →
CPX: The Composer Package Executor for PHP image

CPX: The Composer Package Executor for PHP

Read article
Laravel AI SDK Adds Human-in-the-Loop Tool Approval image

Laravel AI SDK Adds Human-in-the-Loop Tool Approval

Read article
Pest 5 Released With Test Impact Analysis, Agent Verification, and Evals image

Pest 5 Released With Test Impact Analysis, Agent Verification, and Evals

Read article
Queue-SQL: Run Mass Deletes and Updates Across Parallel Queue Jobs image

Queue-SQL: Run Mass Deletes and Updates Across Parallel Queue Jobs

Read article
Blade Formatting in Laravel Pint image

Blade Formatting in Laravel Pint

Read article
Inertia DevTools Is Now on the Chrome Web Store image

Inertia DevTools Is Now on the Chrome Web Store

Read article