Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message
Amqp Messenger

Amqp Messenger Laravel Package

symfony/amqp-messenger

Symfony AMQP Messenger integration: send and consume Symfony Messenger messages via AMQP brokers like RabbitMQ. Provides transport configuration, routing, and worker support, maintained in the main Symfony repository.

View on GitHub
Deep Wiki
Context7

Symfony AMQP extension Messenger Bridge

Frequently asked questions about Amqp Messenger
Can I use symfony/amqp-messenger directly in Laravel without Symfony Messenger?
No, this package requires Symfony Messenger as a dependency. You’ll need to integrate `symfony/messenger` alongside Laravel, which may require refactoring job classes to use Symfony’s `AsMessage` attribute instead of Laravel’s `ShouldQueue`.
What Laravel versions support symfony/amqp-messenger?
The package itself doesn’t enforce Laravel version constraints, but it depends on Symfony Messenger (v6+). Laravel apps must use Symfony Messenger as a standalone component, bypassing Laravel’s native queue system. Tested best with Laravel 9+.
How do I configure delayed quorum queues in RabbitMQ for Laravel?
Delayed quorum queues require RabbitMQ 4.0+, the `x-delayed-type` plugin, and quorum queue support enabled. Configure via Symfony Messenger’s `DelayStamp` and RabbitMQ’s `x-delayed-message` policy. Laravel’s `delay()` method won’t work—use `$bus->dispatch($message, [new DelayStamp(seconds)])` instead.
Is symfony/amqp-messenger better than Laravel’s Redis queue for background jobs?
For simple background jobs, Laravel’s Redis queue is lighter and more integrated. This package excels for **delayed, durable workflows** (e.g., 24-hour payment processing) or **saga patterns** with compensating actions, thanks to RabbitMQ’s quorum queues and AMQP reliability guarantees.
How do I replace Laravel’s `queue:work` with symfony/amqp-messenger?
Use `symfony-messenger:consume` instead. Configure a worker via Symfony’s CLI command, targeting your AMQP transport. Note: This won’t process Laravel’s native `ShouldQueue` jobs—you must migrate those to Symfony Messenger’s `AsMessage` classes first.
What are the risks of using quorum queues in production?
Quorum queues replicate data across nodes, increasing disk usage and risking silent failures if storage is full. Unlike classic queues, they don’t auto-recover. Monitor disk space and replication lag closely, especially in high-volume environments.
Can I mix symfony/amqp-messenger with Laravel’s database queue?
No, this package replaces Laravel’s queue system entirely. You’d need to migrate all jobs to Symfony Messenger’s transport layer. For hybrid setups, consider using Symfony Messenger only for AMQP-specific workflows (e.g., delayed tasks) while keeping Laravel queues for other workloads.
How do I handle message retries with symfony/amqp-messenger?
Use Symfony Messenger’s retry middleware (e.g., `RetryStamp`). Configure max retries and delay strategies in your transport configuration. Unlike Laravel’s queue retries, this leverages AMQP’s dead-letter exchanges for failed messages.
What’s the performance impact of quorum queues vs. classic RabbitMQ queues?
Quorum queues add ~10–50ms latency vs. classic queues due to replication overhead. For high-throughput workloads (e.g., 10K+ messages/hour), test under load—Symfony’s AMQP bridge may hold connections open longer than Laravel’s workers, increasing resource usage.
Are there alternatives to symfony/amqp-messenger for Laravel + RabbitMQ?
For Laravel-native RabbitMQ support, consider `vladimir-yuldashev/laravel-queue-rabbitmq` or `php-amqplib` with custom workers. However, these lack Symfony Messenger’s built-in features like delayed quorum queues, retry middleware, and failure transports. This package offers deeper integration if you’re already using Symfony components.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
terminal42/code-quality-tools
codifyo/ts-generator-bundle
andydefer/laravel-cluster
testo/fiber
mintobit/jobqueue
a4sex/maintenance-bundle
a4sex/entity-date-update
a4sex/client-identifier
a4sex/base-utilites
a4sex/key-value-storage
a4sex/micro-status
chilldev/dependency-injection-extra
datinglibre/datinglibre-app-api
biberltd/corebundle
bricre/symfony-bundle-test
biberltd/logbundle
dominium/http-adapter-bundle
dominium/google-analytics
a4sex/auto-clean-entity
christhompsontldr/laravel-inky