zenstruck/messenger-monitor-bundle
Symfony bundle to monitor Symfony Messenger: track dispatched messages, handlers, retries and failures with a built-in dashboard and persistence. Helps debug async workflows and gain insight into queue activity in dev or production.
laravel/messenger). Since Laravel’s queue system is built on Symfony Messenger, this package can be seamlessly integrated without major architectural changes.sync, database) may need explicit configuration.| Risk Area | Severity | Mitigation Strategy |
|---|---|---|
| Database Schema Conflicts | Medium | Review migrations/ to ensure no clashes with existing Laravel tables. |
| Auth Integration | Medium | Use Laravel’s auth system via Symfony’s UserProvider or middleware. |
| Performance Overhead | Low | Monitor query performance; bundle is optimized for read-heavy operations. |
| Deprecation Risk | Low | Package is actively maintained (last release: 2025). |
| Custom Transport Support | Medium | Test with all transports; may need custom event listeners. |
messenger:setup commands.symfony/messenger. If using older Laravel, may need Symfony Messenger bridge.Queue::* facade, migrate to Messenger first.symfony/messenger is installed (composer require symfony/messenger).Queue::*).composer require zenstruck/messenger-monitor-bundle
php artisan messenger:monitor:install
php artisan vendor:publish --tag="messenger-monitor-config").config/messenger.php.php artisan migrate (bundle includes schema for message tracking).php bin/console messenger:consume async -vv).| Component | Compatibility Notes |
|---|---|
| Laravel 9+ | ✅ Full support |
| Laravel 8 | ⚠️ May need Symfony 5.4+ bridge |
| Legacy Queues | ❌ Not supported (must migrate to Messenger) |
| Custom Transports | ✅ Supported if they implement Messenger’s Transport interface |
| Horizon | ⚠️ Redundant; evaluate feature overlap |
schema/migrations for changes.messenger:failed:list and messenger:consume logs.php artisan cache:clear) or check Symfony’s debug:router.created_at, status for large datasets.| Failure Scenario | Impact | Mitigation |
|---|---|---|
| Database connection issues | UI broken, no message tracking | Ensure DB is healthy; use retries in workers. |
| Worker crashes | Messages stuck; no visibility | Use messenger:failed:retry; monitor failed_jobs table. |
| Auth misconfiguration | UI inaccessible | Test auth flow in staging; use Laravel’s auth adapter. |
| Schema conflicts | Migration failures | Review bundle’s migrations before running. |
| High message volume | Slow UI queries | Optimize DB queries; archive old messages. |
MessageSent, MessageHandled).How can I help you explore Laravel packages today?