WP Manifestindependent plugin directory
manifest / developer / wp-queue-manager

WP Queue Manager

Managing asynchronous or/and long running jobs in Wordpress

★ 1stars

Install

Download source zip No release zip yet

This is the repository archive. It installs, but the folder name will carry the branch suffix and updates will not flow.

Install straight from GitHub with WP-CLI:

wp plugin install https://github.com/cyrille37/wp-queue-manager/archive/refs/heads/main.zip
No built-in updater. New versions won't appear under Dashboard → Updates. Install new releases yourself, or let Git Updater track the repository.

Managing asynchronous or/and long running jobs in Wordpress.

Features

  • can be managed with supervisord or system cron or php.exec()
  • manage a queue with job locking to avoid concurent launch of same job
  • can request a job progress via a wp_ajax action, nice for long running jobs (big file import)
  • don't call WP with http request because it's depends on http request time limit,
    • really load WP in job runner
    • make it possible to distinguish between tasks requiring WP plugins and those that do not need them (optimization)
      • not possible, we need at least database configuration ans loading wp-config will load many stuff like activated plugins.

In a later time, it should be nice to implements the runner for message queue service, but there is already 10up/WP-Minions for RabbitMQ and Gearman with forks for SQS and AWS service.

Inspiration

A big thank you to the designers of the projects wp-background-processing and 10up/WP-Minions where I found much knowledge and inspiration.

I should have:

  • fork WP-Minions to add a Redis "minion" but it would not be runnable on mutualized hosting.
  • use WP-Background-Pocessing but it is sensible to http request time limit that is not compatible with very long running job.