How can I monitor if the Laravel queue is running?

Stefan Izdrail

Founder & Senior Architect · 2026-06-29

Laravel Company
Title: Easily Monitor Laravel Queue Processes for Optimal Performance Introduction: As a senior developer, you may understand the importance of monitoring your application's processes to ensure optimal performance. In this blog post, we will discuss how to monitor if the Laravel queue is running and provide a solution for preventing jobs from getting stuck on the job table. Body: The Laravel queue is an essential component that allows you to manage tasks asynchronously. With this feature, you can easily handle time-consuming processes and complex background jobs without impacting your application's performance. However, sometimes things may not go according to plan, and it becomes crucial to ensure the queue is running smoothly. To start the Laravel queue process, run the following command:
php artisan queue:listen
This will start listening for jobs in the queue and execute them as they get pushed. However, there isn't a built-in method to check if the queue is running or not. To find a solution, let us think of how we can monitor the queue process from within our code: 1. Create a custom Artisan command that will run periodically to check the queue status. For example, you could create a new file with the name `CheckQueueStatus.php` in the root directory of your Laravel application with the following content:
use Illuminate\Foundation\Application;
call('queue:listen', funciton() use ($isListening, $this) {
            if (!$isListening) {
                $this->error('Queue is not running. Starting it now.');
                \Queue::force(function () use ($app) {
                    $app['queue']->listen();
                });
            } else {
                $this->line('Queue is already running.');
            }
        });
    }
}
2. Next, run this newly created command to check the queue status and start it if necessary:
php artisan check:queue-status
Now, you have a solution for monitoring your Laravel queue process and ensuring that jobs are executed as expected without getting stuck on the job table. It is essential to keep track of your application's processes to maintain optimal performance, resulting in better user experience and overall satisfaction. Conclusion: Monitoring your Laravel queue's status can save you from potential issues regarding job execution and the efficiency of your background tasks. By following this guide, you now have a simple solution that enables you to check if the queue is running or not, ensuring smooth operations for your application.