Skip to main content
Drupal is a registered trademark of Dries Buytaert
Release: OpenID Connect / OAuth client 3.0.0-alpha9 New alpha version released for module openid_connect (3.0.0-alpha9). Release: Opensolr Search 4.5.0 Minor update available for module opensolr_search (4.5.0). Release: Timelinr 1.0.1 Minor update available for module timelinr (1.0.1). Usage Milestone: Simplify Module simplify crossed 10,000 active installs. Usage Milestone: Views Reference Filter Module entityreference_filter crossed 10,000 active installs. Usage Milestone: Dropdown Language Module dropdown_language crossed 10,000 active installs. Usage Milestone: Paragraphs Browser Module paragraphs_browser crossed 10,000 active installs. Usage Milestone: OpenAPI Module openapi crossed 10,000 active installs. Usage Milestone: Decoupled Router Module decoupled_router crossed 10,000 active installs. Module Revived: Entityqueue Buttons 1.1.2 Module entityqueue_buttons updated after 8 months of inactivity (1.1.2).

Drush Queue Run All

27 sites Security covered Drupal 10–11
View on drupal.org

This module provides a Drush command to process all queued items on your website. It allows for limits on time, items, and memory, and can run in daemon mode for continuous processing.

This module adds a Drush command that allows you to process all available queues in the website.

This originally started as a PR for Drush, but it was decided to (initially) let this command live in contrib.

Features

This module adds a drush queue:run-all command that does the same as drush queue:run, but for all available queues instead of a specific one. It takes the same options, but without the argument. The --time-limit and --items-limit options count across all queues instead of a specific queue.

The command has a --memory-limit option that takes either a number that ends with g/m/k (the same format as the memory_limit ini setting) or a percentage. The command will run until that amount of memory is consumed.

The command also has a --daemon option that keeps the command running until --items-limit, --lease-limit or --memory-limit is reached - if defined. Else, it keeps going indefinitely.

Usage with process managers

When used with a process manager like systemd, RoadRunner or Supervisord, it can be set up as a process that runs permanently and restarts automatically in case of failure. This is useful when you need queue items to be processed as fast as possible, instead of during every cron run.

Make sure to restart queue runners after deploying new code, otherwise the old code will keep running in memory until the queue runner is restarted. This can cause some very hard to debug issues. Trust me, I've been there.

Here are some example configurations to be used with different process managers. You will need to adjust things like the path to the PHP and Drush executables and the options passed to the command according to your setup and preferences.

systemd

[Unit]
Description=Queue runner
After=mysqld.service
StartLimitIntervalSec=0

[Service]
Type=simple
Restart=always
RestartSec=1
ExecStart=/usr/bin/php %h/deploy/current/vendor/bin/drush queue:run-all --daemon --memory-limit=60%

[Install]
WantedBy=default.target

Supervisord

[program:queue_runner]
    command=/usr/bin/php vendor/bin/drush queue:run-all --daemon --memory-limit=200M
    redirect_stderr=true
    autostart=true
    autorestart=true
    user=<your user>
    numprocs=1
    directory=/home/deploy/current
    process_name=%(program_name)s_%(process_num)s

Known issues

Under heavy concurrency, the queue database table can suffer from SQLSTATE[40001]: Serialization failure: 1213 Deadlock found errors. This is not an issue with this module, but rather with Drupal core. More information and a working patch can be found in #3555806

Depends on

Dependencies of the latest stable release

No dependencies recorded for this project.

Required by

Tracked projects that depend on this one

No tracked projects depend on this one yet.

Activity

Tracked releases
5
Tracked since
Jan 2025
Latest release
7 months ago
Releases (12 mo)
2 ▼ from 3
Maintenance
Slowing

Release Timeline

Releases

Version Type Core Release date
1.1.1 Stable 10–11 Jan 30, 2026
1.1.0 Stable 10–11 Oct 8, 2025
1.0.1 Stable 10–11 Jun 12, 2025
1.0.0 Stable 10–11 Jan 17, 2025
1.0.x-dev Dev 10–11 Jan 17, 2025