Monitor Laravel Queue Workers with CronRabbit
LaravelThe Problem
Laravel queue workers can die silently — OOM kills, supervisor restarts, or Redis disconnections stop job processing without notification.
The Solution
Use CronRabbit to monitor a 'canary' job that runs on a schedule. If the worker is healthy, the canary fires its ping. If not, CronRabbit alerts you.
Canary Job Pattern
Create a lightweight job that pings CronRabbit every few minutes. If the worker is down, the ping stops and you get alerted.
Code Examples
Queue health canary job
PHP// app/Jobs/QueueHealthPing.php
class QueueHealthPing implements ShouldQueue
{
public function handle(): void
{
file_get_contents('https://ping.cronrabbit.com/queue-health-id');
}
}
// app/Console/Kernel.php
$schedule->job(new QueueHealthPing)
->everyFiveMinutes();