Drupal 8
Provides a better queue API for Drupal 8.
Queues are configuration entities with an associated backend plugin. The backend plugin is responsible for enqueueing and manipulating jobs. Each job has a type (JobType plugin), responsible for processing it.
Example:
$job = Job::create('commerce_recurring_renew_order', ['order_id' => '10']);
// Any queue can hold any job. Having different queues
// allows grouping jobs by different criteria.
// High vs low priority. Processed by cron or Drush/Console.
// One in SQL, one in Redis. Etc.
$queue = Queue::load('default');
$queue->enqueueJob($job);
Features:
- Job states (queued/processing/success/failure)
- Job results (state, message, processing time stored on the job)
- Retries (configurable per job type or per job)
- Delayed processing (run the job in 10 days, retry in 1 day, etc)
- API support for bulk job creation and interfaces for optional features
- Drush and Drupal Console commands for processing queues
- Views-powered job listings
Drupal 7
An extended queuing module fully backward compatible with and a drop-in replacement of DrupalQueue.
Features:
- A Drush-based execution engine for queued job, supporting executing multiple queues at the same time and timeouts
- Human readable, translatable names for queued items
- Status of queued items (new, being processed, succeeded, failed), and result payload
- Full Views integration
Original development sponsored by Publicis Modem
Project information
- 5,533 sites report using this module
- Created by Damien Tournoud on , updated
- Stable releases for this project are covered by the security advisory policy.
Look for the shield icon below.
Releases
8.x-1.0
released 26 February 2024
Works with Drupal: ^9.1 || ^10
✓ Recommended by the project’s maintainer.
Stable release
Install:
Development version: 8.x-1.x-dev updated 18 Oct 2023 at 22:39 UTC
7.x-1.0
released 30 October 2017
Works with Drupal: 7.x
✓ Recommended by the project’s maintainer.
Development version: 7.x-1.x-dev updated 23 Jun 2021 at 10:51 UTC