enqueue/amqp-tools
Extends AMQP transports with features beyond the spec, compatible with any amqp interop transport. Part of the Enqueue PHP messaging ecosystem for building reliable, interoperable message queues.
enqueue/amqp-tools is a thin utility layer that adds AMQP behaviors the spec itself doesn't define (e.g., delayed/re-delivered message handling, message TTL helpers, exchange/queue setup conveniences) on top of any amqp interop-compatible transport. For a PM, this is the difference between "we build our own retry/delay/DLQ plumbing" and "we configure it" — a multi-sprint decision, not a library preference.Adopt when:
Look elsewhere when:
redis/database/sqs queues, or enqueue/laravel-queue if you want the enqueue bridge, will get there with far less bespoke code. This package supplies tools, not a queue driver.For executives (one paragraph): "We're proposing to standardise a few upcoming features — notifications, order processing, delayed reminders, and event publishing to our non-PHP services — on RabbitMQ, using a small open-source MIT-licensed PHP toolkit rather than building queue plumbing ourselves. The business case is time-to-market and resilience: delayed jobs, retries with backoff, and dead-letter handling come as configured behavior instead of custom code, and it keeps slow work off our web servers so page response times stay flat during traffic spikes. The costs are honest ones: it's free software with no vendor support, so we fund the integration and the operational runbook ourselves, and it only pays off if we commit to RabbitMQ as our messaging standard rather than adding it as a one-off. Recommendation: pilot on a single non-critical workflow next sprint, measure, then decide on wider adoption."
For engineering (the short version):
enqueue/amqp-ext/php-amqplib and, for Laravel ergonomics, the enqueue Laravel bridge or a custom QueueManager::extend driver.MessageProducer/MessageConsumer interfaces keeps the exit cost low if the ecosystem stalls.How can I help you explore Laravel packages today?