Weave 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 Bunny Laravel Package

enqueue/amqp-bunny

AMQP transport for Enqueue using the Bunny PHP AMQP client. Implements amqp-interop for working with RabbitMQ-compatible brokers, providing a lightweight driver with Enqueue’s messaging/queue ecosystem.

View on GitHub
Deep Wiki
Context7

Message Queue, Job Queue, Broadcasting, WebSockets packages for PHP, Symfony, Laravel, Magento. DEVELOPMENT REPOSITORY - provided by Forma-Pro

Frequently asked questions about Amqp Bunny
How do I integrate **enqueue/amqp-bunny** with Laravel’s queue system?
Use the **enqueue/laravel** package to bridge Enqueue with Laravel. Configure your `config/queue.php` to include the AMQP connection, then dispatch jobs with `Queue::connection('amqp')->push()`. For custom consumers, extend Laravel’s queue workers or use Enqueue’s consumer tools.
What Laravel versions does **enqueue/amqp-bunny** support?
The package requires **PHP 8.1+** and works with Laravel 8.x, 9.x, and 10.x. Older Laravel versions (<8.0) may need dependency adjustments due to PHP version constraints. Always check the [Enqueue compatibility docs](https://php-enqueue.github.io/) for specifics.
Can I use **amqp-bunny** for event-driven architectures in Laravel?
Yes. AMQP’s pub/sub model via exchanges and routing keys makes it perfect for event-driven workflows. Publish events to RabbitMQ and consume them in Laravel using Enqueue’s consumers or Laravel’s queue listeners with the AMQP connection.
How does **enqueue/amqp-bunny** handle connection reliability in production?
The underlying **Bunny** library manages reconnections, heartbeats, and failover automatically. For critical systems, configure retry policies in Enqueue’s middleware and use dead-letter exchanges to handle poison messages. Monitor RabbitMQ cluster health separately.
What’s the performance difference between AMQP (RabbitMQ) and Laravel’s Redis queue?
AMQP introduces higher latency (~10–50ms) than Redis due to network overhead, but excels in distributed scenarios with advanced features like QoS, persistence, and routing. Benchmark your workload—Redis is simpler for single-server setups, while AMQP scales better for microservices.
Do I need to manage RabbitMQ infrastructure myself, or are there managed options?
You can self-host RabbitMQ or use managed services like **CloudAMQP**, **RabbitMQ Cloud**, or **AWS MQ**. Managed options reduce operational burden but may incur costs. Ensure your provider supports AMQP 0-9-1 for full compatibility with **amqp-bunny**.
How do I handle job retries and dead-letter queues with **enqueue/amqp-bunny**?
Use Enqueue’s **retry middleware** and configure dead-letter exchanges in RabbitMQ. For Laravel, extend the queue listener with custom logic to republish failed jobs or log them. Example: Set `x-dead-letter-exchange` in queue declarations and handle failures via Enqueue’s error listeners.
Is **enqueue/amqp-bunny** compatible with Laravel’s Horizon or other queue monitoring tools?
No direct integration exists, but you can monitor RabbitMQ queues via **RabbitMQ Management UI** or tools like **Prometheus/Grafana**. For Laravel-specific monitoring, use Enqueue’s **statsd** or **prometheus** extensions alongside Horizon for hybrid setups.
What alternatives exist for AMQP in Laravel if **enqueue/amqp-bunny** isn’t suitable?
Consider **php-amqplib** (direct RabbitMQ client) or **Enqueue’s other transports** like **Redis** or **Database**. For simpler needs, Laravel’s built-in **Redis/SQS** drivers may suffice. If you need AMQP interop, **enqueue/amqp-lib** (using `php-amqplib`) is another option.
How do I test **enqueue/amqp-bunny** in a Laravel CI pipeline?
Use a **test RabbitMQ container** (e.g., Docker) with `php-enqueue/amqp-bunny` configured for a temporary URL. Mock the AMQP client in unit tests with **Enqueue’s test utilities** or **PHPUnit**. For integration tests, spin up a real broker or use a local instance with unique credentials.
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.
mydnic/volet-feature-board-filament-plugin
wmde/email-address
refinery29/test-util
dees040/laravel-api-responses
teamzac/geocoder
ideatica/config-writer
keaton-php/pipe-dream
jacksonwebservices/laravel-user-suite
maksimru/conditional-laravel-debugbar
gismatul/nova-support-chat
gismatul/laravel-support-chat
networkrailbusinesssystems/oracle-api
alphabalex/messaging-made-easy
rawphp/warp
shootkiran/merobug
narakode/fineauth
numencode/wn-syncops-plugin
ibnnajjaar/mib-global-pay
refinery29/php-cs-fixer-config
parsnick/steak