Laravel - Queues - The Queue Work Command
Laravel includes an Artisan command that will start a queue worker and process new jobs as they are pushed onto the queue. You may run the worker using the
queue:work Artisan command. Note that once the
queue:work command has started, it will continue to run until it is manually stopped or you close your terminal:
php artisan queue:work
To keep the
queue:workprocess running permanently in the background, you should use a process monitor such as Supervisor to ensure that the queue worker does not stop running.
Remember, queue workers, are long-lived processes and store the booted application state in memory. As a result, they will not notice changes in your code base after they have been started. So, during your deployment process, be sure to restart your queue workers. In addition, remember that any static state created or modified by your application will not be automatically reset between jobs.
Alternatively, you may run the
queue:listen command. When using the
queue:listen command, you don't have to manually restart the worker when you want to reload your updated code or reset the application state; however, this command is significantly less efficient than the
php artisan queue:listen