enqueue/laravel-queue
Integrates Laravel’s queue system with Enqueue, providing a transport-agnostic queue driver for sending and consuming jobs through brokers such as AMQP, Redis, and others. Useful for apps already using Enqueue or needing flexible message transports.
Broker choice as a product capability, not an infrastructure detail. Laravel ships queue drivers for database, Redis, SQS, and Beanstalkd — but not RabbitMQ, Kafka, or Google Pub/Sub. This package is the adapter that lets you run the same dispatch(), job classes, and queue:work workflows on those brokers. That unlocks product decisions like:
Illuminate\Queue\Queue driver per broker. Enqueue gives you one adapter for ~8 transports; the trade is a third-party abstraction you don't control.What it does not decide for you: observability. Laravel Horizon is Redis-only, so choosing this path means losing Horizon's dashboard and metrics and substituting the broker's own tooling (RabbitMQ Management, Kafka UI) or a paid APM. Budget for that in the same decision, not later.
Consider it when most of these are true:
Look elsewhere when:
Adoption gate (suggested): a 1–2 week spike proving (a) jobs dispatch and process on the target broker with your real payloads, (b) failure/retry/DLQ behavior matches your reliability claims, (c) you have a monitoring story, (d) upgrading Laravel doesn't break it. If the spike can't clear all four, the answer is no.
For executives — one paragraph: This is a small open-source adapter (MIT, no license cost) that lets our existing Laravel job code run on enterprise-grade message brokers like RabbitMQ and Kafka instead of only Redis or SQS. It removes a structural blocker to selling into customers who mandate those brokers and reduces our dependence on any single cloud vendor's queue. The engineering cost is low — it's an adapter, not a rewrite — but it introduces a lightly-maintained third-party dependency and requires us to replace Horizon's monitoring with broker-native tooling. Recommendation: approve a two-week technical spike against one real broker and one real customer requirement; treat the package as a thin, pinnable layer we're prepared to fork, not a platform bet.
For engineering — the ask and the trade: Keep Laravel's queue API as the contract; swap the transport. You get one adapter across AMQP/Kafka/Pub-Sub/STOMP and the broker's native DLQ, priority, and routing semantics. In exchange: pin the version and the underlying Enqueue transport packages, add integration tests against a containerized broker, replace Horizon with broker dashboards plus your own metrics, and budget a day per Laravel upgrade to re-verify. If the spike shows meaningful maintenance drag, the fallback is a ~200-line custom driver for the one broker we actually need — cheaper than an abstraction we don't fully use.
Framing to avoid: don't sell this as "future-proofing" or "portability insurance." Sell it against a specific named broker requirement with a specific customer or deployment target attached — that's the only version of this pitch that survives a prioritization review.
How can I help you explore Laravel packages today?