Experimental project

This is a sandbox project, which contains experimental code for developer use only.

This utility module removes all the tasks that older than a given time from 'queue' DB table.
Together with Ultimate Cron and its 'lease time' option it may help to mitigate running of non-idempotent queue tasks multiple times. To do so, set 'lease time' for the particular Queue Job (via Ultimate Cron interface) e.g. to 2 days and the Queue Cleaner timeout to 1 day. If cron is configured properly the queued task will not be fired more than once (it will have been removed from 'queue' before it'll be claimed by Drupal one again).

Learn more about how Drupal Queue works and think why it might be important for you:
https://api.drupal.org/api/drupal/modules!system!system.queue.inc/group/...
https://api.drupal.org/api/drupal/modules%21system%21system.queue.inc/fu...

Potential improvements:

  • Add a configuration option - a list of task patterns that should be removed (e.g. only rules_scheduler_* queue tasks). For the time being this module removes ALL tasks. I will develop this functionality only if someone else desires this feature.

Project information