illuminate/queue
The Laravel Queue component offers a unified API across multiple queue backends, letting you defer time-consuming tasks like sending email until later so web requests stay fast. Includes a Capsule for easy standalone configuration outside Laravel.
illuminate/queue is the cheapest credible way to ship that pipeline in a PHP codebase: one Composer dependency and a Capsule manager instance, no new service tier required.database driver in early-stage environments to Redis or SQS at scale is a config change plus a worker redeploy, not a re-architecture. This is a meaningful hedge against a wrong infrastructure bet made early, when the team has the least information.laravel/horizon is the conventional answer — and a PM should budget for them explicitly rather than discovering them at the first incident.Adopt when:
laravel/framework, so it is the same code the team would get anyway, with no new vendor relationship and an MIT license.tries, retry_after, Queue::failing(), and lifecycle hooks are the substance of the package; writing this yourself is a classic false economy.Look elsewhere — or look harder — when:
Capsule path is documented thinly, the package shows zero standalone dependents, it is marked read-only and may lag the framework, and you will still pull in illuminate/support and illuminate/contracts. You are also on your own for the worker loop, since php artisan queue:work belongs to the framework. Standalone adoption is viable but should be scoped as a small engineering project, not a drop-in.illuminate/bus and friends), and serious workflow orchestration (long-running sagas, cross-service choreography, visual DAGs) is out of scope — that is Temporal/Camunda/Airflow territory.2026-10-27 release date reflects the framework's mirrored release schedule, not a bespoke standalone roadmap — nothing here is negotiated to your needs.Gate to clear before committing: confirm which Illuminate packages come along as transitive dependencies, confirm the versioning story for standalone use (pin the minor version), and confirm someone owns the worker runtime and the failed-job queue. Those three questions are cheap to answer and expensive to skip.
For executives — the one-paragraph version: This is an existing, MIT-licensed building block from the Laravel framework that lets our PHP application hand off slow work to be done in the background. It is not a new vendor, not a new subscription, and not a new service to operate — it is a library our engineers would otherwise end up writing badly and maintaining forever. It lets us commit to faster page loads and to features like bulk actions, notifications, and third-party integrations without committing today to which message broker we will run at scale. That optionality is the point: it is a hedge against making an expensive infrastructure bet with incomplete information.
For engineering — why this is the right amount of technology:
It gives us a driver-agnostic queue API with retries, timeouts, backoff, and failure hooks already solved, so we write job classes and business logic instead of a job runner. We can start on the database driver, where the operational surface is a table we already know how to back up, and move to Redis or SQS later as a configuration change. The costs are honest and bounded: worker processes need a deployment story and supervision; failed jobs need somewhere to go and someone to look at them; jobs must be serializable, so no closures in payloads; and if we use it outside a full Laravel install we inherit a thin documentation trail and should budget a spike to prove the standalone worker loop. For Redis-backed deployments, laravel/horizon covers the monitoring gap and should be planned alongside, not after.
For the roadmap conversation — what this unlocks and what it costs: Unlocks: asynchronous email and notifications, bulk and batch operations, report and export generation, reliable third-party sync with retry, scheduled maintenance work, and a general pattern for absorbing traffic spikes without proportionally scaling web servers. Costs: a small upfront integration effort, a recurring operational commitment to worker health and failed-job triage, and the discipline to keep job payloads serializable and idempotent. The decision to make now is not "which broker" — it is "do we want the option to answer that later," and this package is what buys us that option at near-zero licensing cost.
How can I help you explore Laravel packages today?