symfony/doctrine-messenger
Doctrine integration for Symfony Messenger: use Doctrine-backed transports and tooling to send, store, and process messages reliably within Symfony apps. Part of the Symfony ecosystem; issues and PRs are handled in the main symfony/symfony repository.
Illuminate\Queue) uses Eloquent, Bus, and Job Middleware, making direct integration architecturally incompatible.message, message_history) with specific constraints (e.g., mutable datetime columns, triggers for PostgreSQL), which clash with Laravel’s default jobs table schema. Custom migrations would be required to align schemas.Message interface, Transport interfaces, and Bus implementations, which lack Laravel equivalents. Laravel’s ShouldQueue trait and Dispatchable interface are fundamentally different.Transport and Bus with Laravel’s Queue and Bus systems.Message objects and Laravel’s Job objects.database queue driver?
symfony/console, doctrine/dbal) be resolved?database driver (simpler, no Symfony dependencies) or third-party packages (e.g., spatie/laravel-queue-s3, pda/pheanstalk) for database/broker-based queues?ContainerInterface ≠ Laravel’s Illuminate\Container\Container.EventDispatcher ≠ Laravel’s Illuminate\Events\Dispatcher.Command ≠ Laravel’s Artisan commands.messenger:consume ≠ Laravel’s queue:work.database queue driver already provides a simpler, Laravel-native solution.To integrate symfony/doctrine-messenger into Laravel, a TPM would need to:
jobs table?).LaravelTransport class implementing Symfony’s TransportInterface.Message objects to Laravel’s Job objects (or vice versa).Illuminate\Bus\Dispatcher to support Symfony’s Bus interface.MessageHandlerInterface.php artisan queue:work with a custom command that delegates to Symfony’s messenger:consume.jobs table and use Doctrine Messenger’s schema exclusively.replace or conflict directives to manage version conflicts (e.g., symfony/console vs. Laravel’s laravel/framework).modules or a microservice approach).database driver is MySQL/SQLite-focused. PostgreSQL-specific features (e.g., pg_notify()) would require additional Laravel extensions.HandleJobsMiddleware. Custom middleware would need to be built.queue:connection system would need to be extended to support Symfony’s Transport interfaces.messenger:consume does not integrate with Laravel’s queue monitoring tools (e.g., Laravel Horizon).database driver.How can I help you explore Laravel packages today?