Drupal is a registered trademark of Dries Buytaert
drupal 11.4.1 Update released for Drupal core (11.4.1)! drupal 11.4.0 Update released for Drupal core (11.4.0)! drupal 10.6.12 Update released for Drupal core (10.6.12)! drupal 11.3.13 Update released for Drupal core (11.3.13)! drupal 10.6.11 Update released for Drupal core (10.6.11)! drupal 11.3.12 Update released for Drupal core (11.3.12)! drupal 11.2.14 Update released for Drupal core (11.2.14)! drupal 10.5.12 Update released for Drupal core (10.5.12)! cms 2.1.3 Update released for Drupal core (2.1.3)! drupal 10.5.11 Update released for Drupal core (10.5.11)! drupal 11.3.11 Update released for Drupal core (11.3.11)! drupal 11.2.13 Update released for Drupal core (11.2.13)! drupal 10.6.10 Update released for Drupal core (10.6.10)! cms 2.1.2 Update released for Drupal core (2.1.2)! drupal 11.1.10 Update released for Drupal core (11.1.10)! drupal 10.5.10 Update released for Drupal core (10.5.10)! drupal 10.4.10 Update released for Drupal core (10.4.10)! drupal 11.2.12 Update released for Drupal core (11.2.12)! drupal 11.3.10 Update released for Drupal core (11.3.10)! drupal 10.6.9 Update released for Drupal core (10.6.9)!

Run Drupal's queue system on Cloudflare Queues with no code changes. Opt a queue (cron queues, the Batch API, or a custom queue worker) onto the Cloudflare backend in settings.php, and items are enqueued and consumed over the Cloudflare Queues HTTP pull/ack API.

Cloudflare Queues is a managed, global message queue. Unlike most queue backends, you do not stand up or wire a broker: the queue is provisioned and tracked for you by the Cloudflare Compute module, and this module runs Drupal's queue on it.

Features

  • Implements Drupal's ReliableQueueInterface, so existing queue workers run unchanged.
  • Consumes a queue provisioned and tracked by Cloudflare Compute (its id and credentials come from the queue asset); no broker to operate.
  • At-least-once delivery over the Cloudflare Queues HTTP pull/ack API, with visibility-timeout leases and retries.
  • Swappable payload codec: JSON by default, or an opt-in PHP-serialize codec that preserves object payloads.

Post-Installation

  1. Provision a Cloudflare queue with the Cloudflare Compute module (its deploy wizard or Queues admin), or register an existing one.
  2. Opt a Drupal queue onto the backend in settings.php, for example: $settings['queue_service_my_worker'] = 'queue.cloudflare';
  3. Optionally change the Cloudflare queue-name prefix (default "drupal-") in the module settings.

Additional Requirements

Requires the Cloudflare API (cloudflare_api), Cloudflare SDK (cloudflare_sdk) and Cloudflare Compute (cloudflare_compute) modules, and a Cloudflare API token with Queues Edit permission (queues#read and queues#write). Install with Composer:

composer require drupal/cloudflare_queue

None beyond the required dependencies. Cloudflare Compute (a hard dependency) provisions and tracks the queue this backend runs on.

Similar projects

Like the core database queue, or backends such as RabbitMQ and AWS SQS, this provides a Drupal queue implementation. The difference is provisioning: the queue is created and tracked for you as configuration (by Cloudflare Compute), and it runs over Cloudflare's global HTTP API with no broker or separate worker to operate.

Supporting this Module

Issue reports, patches and feedback are welcome in the project's issue queue.

Community Documentation

Activity

Total releases
1
First release
Jul 2026
Latest release
21 hours ago
Release cadence
Stability
0% stable

Releases

Version Type Release date
1.0.0-alpha1 Pre-release Jul 7, 2026