Skip to content

Guide

The Queue plugin runs background jobs out of your CakePHP database — no Redis, no RabbitMQ, no extra infrastructure. Jobs are persisted, retried on failure, and processed by one or more worker processes you trigger via cron, supervisor, or systemd.

Where to start

  • Basic Setup — install, load the plugin, run migrations.
  • Queueing Jobs — create jobs from your app code, with priorities, references, and progress tracking.
  • Custom Tasks — write your own task classes.

Operating the queue

  • Configuration — runtime tuning (worker lifetime, timeouts, retries, multi-server).
  • Operations — production checklist: sizing workers, supervisor/systemd, monitoring, failure handling, schema migrations on live workers.
  • Cron Setup — start workers on a schedule.
  • Multi-Connection — run queues against multiple databases.
  • Real-Time Progress — Mercure / SSE for live progress UIs.

Email handling

  • Mailing — queueing emails via QueueTransport, custom email tasks, and the built-in tasks reference.

For built-in tasks (Execute, Email, Mailer), see Tasks. For the admin UI, see Admin Dashboard.

Released under the MIT License.