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.
enqueue/amqp-bunny package is a message queue transport for AMQP (Advanced Message Queuing Protocol), enabling Laravel applications to leverage RabbitMQ (via the bunny library) for asynchronous task processing, job queues, and event-driven architectures. This aligns well with Laravel’s native queue system (e.g., Illuminate\Queue) but extends it with AMQP’s advanced features (e.g., exchanges, routing keys, QoS, and persistence).php artisan queue:work).enqueue/laravel package (if available) or by extending Laravel’s Queue facade to use enqueue/amqp-bunny as a transport.database, redis).bunny library handles this, but misconfigurations (e.g., wrong credentials, network issues) can cause failures.redis). Benchmarking is recommended for high-throughput systems.redis, database)?redis) suffice?Illuminate\Queue\QueueManager to register amqp-bunny as a connection.Queue::connection('amqp')->push() for AMQP-specific jobs.php artisan queue:work with a custom consumer using enqueue/amqp-bunny (e.g., via Enqueue\AmqpExt\Consumer).enqueue/amqp-bunny alongside Laravel’s default queue driver (e.g., redis) for testing.config/queue.php to use amqp-bunny as the default or per-job driver.Illuminate\Queue\Jobs\RedisJob (or similar) with Enqueue\AmqpExt\Job.Illuminate\Bus\Queueable) can be used as-is if the queue connection is configured correctly.composer require enqueue/amqp-bunny bunny/bunny
enqueue/amqp-bunny settings (e.g., host, port, credentials).amqp connection.bunny library manages connections, but long-running consumers may need tuning (e.g., connection timeouts).enqueue/amqp-bunny and bunny may require updates. Test thoroughly before upgrading.| Failure Scenario | Impact | Mitigation |
|---|---|---|
| RabbitMQ Broker Down | Jobs stuck in queue | Use HA queues and mirroring. Implement circuit breakers in consumers. |
| Network Partition | Consumers lose connection | Enable heartbeats and reconnection logic in bunny config. |
| Disk Full (Persistent Messages) | Message loss | Monitor disk usage. Use ** |
How can I help you explore Laravel packages today?