aboutcoders/notification-bundle
Symfony bundle extending SonataNotificationBundle with process control for starting/stopping notification/message processing, ideal for CI environments. Integrates with AbcProcessControlBundle to manage workers and execution flow during builds and tests.
laravel-notification-channels, horizon) may already fulfill similar needs, reducing perceived value.spatie/laravel-notification-transports, laravel-horizon, or laravel-queue) that natively support process control (e.g., job retries, throttling, delayed processing).Illuminate\Contracts\Queue\ShouldQueue or bus).AbcProcessControlBundle) via Laravel’s job middleware or queue workers.notifications facade uses a different architecture (e.g., Illuminate\Notifications\Notification), requiring custom adapters.laravel-horizon (for queues).spatie/laravel-activitylog (for event tracking).spatie/laravel-medialibrary (if notifications involve file attachments).php artisan queue:work --stop equivalents).Why Symfony-Specific?
Notification Requirements
Alternatives Assessment
notifications + queue system?spatie/laravel-notification-transports) that offer similar process control?Maintenance Commitment
Performance & Scaling
config/notifications.php integration).| Step | Action | Risk | Mitigation |
|---|---|---|---|
| 1 | Assess Alternatives | High (time spent on wrong tool) | Benchmark Laravel’s notifications + horizon against requirements. |
| 2 | Symfony Isolation | Medium | Run the bundle in a separate Symfony microservice and expose it via API. |
| 3 | Laravel Adapter Layer | High | Build a custom Laravel package that translates between Sonata’s format and Laravel’s Notification contracts. |
| 4 | Queue Integration | Medium | Replace SonataNotificationBundle's queue logic with Laravel’s bus or queue:work. |
| 5 | Process Control Replacement | High | Use Laravel’s job middleware or horizon for start/stop functionality. |
AbcProcessControlBundle and SonataNotificationBundle (both legacy).Illuminate\Events.Symfony\Component\HttpKernel compatibility layer (e.g., symfony/http-kernel-bundle).Illuminate\Notifications\Notification to wrap Sonata’s logic.Phase 1: Proof of Concept
horizon for queue management.Phase 2: Isolation Strategy
Phase 3: Integration
SonataNotificationBundle with spatie/laravel-notification-transports.horizon commands.Phase 4: Deprecation Plan
SonataNotificationBundle if it becomes a liability.notifications, queue).SonataNotificationBundle.AbcProcessControlBundle).horizon scales better with Redis/beanstalkd than Sonata’s database-backed queues.| Scenario | Impact | Mitigation |
|---|---|---|
| ** |
How can I help you explore Laravel packages today?