1.5 KiB
Notifications & Alerts
Where to Find It
Search with search-docs:
"horizon notifications"for Horizon's built-in notification routing helpers"horizon long wait detected"for LongWaitDetected event details
What to Watch For
waits in config/horizon.php controls the LongWaitDetected threshold
The waits array (e.g., 'redis:default' => 60) defines how many seconds a job can wait in a queue before Horizon fires a LongWaitDetected event. This value is set in the config file, not in Horizon's notification routing. If alerts are firing too often or too late, adjust waits rather than the routing configuration.
Use Horizon's built-in notification routing in HorizonServiceProvider
Configure notifications in the boot() method of App\Providers\HorizonServiceProvider using Horizon::routeMailNotificationsTo(), Horizon::routeSlackNotificationsTo(), or Horizon::routeSmsNotificationsTo(). Horizon already wires LongWaitDetected to its notification sender, so the documented setup is notification routing rather than manual listener registration.
Failed job alerts are separate from Horizon's documented notification routing
Horizon's 12.x documentation covers built-in long-wait notifications. Do not assume the docs provide a JobFailed listener example in HorizonServiceProvider. If a user needs failed job alerts, treat that as custom queue event handling and consult the queue documentation instead of Horizon's notification-routing API.