The Queue Manager module provides an administrative interface to inspect and manage Drupal Database Queues.
Sandbox: http://drupal.org/sandbox/tsphethean/1678466
Git Repo: git clone --recursive --branch master tsphethean@git.drupal.org:sandbox/tsphethean/1678466.git queue_manager
Why Queue Manager
Sometimes code has bugs. If this code is processing your queues then items can become stuck and remain unprocessed. The Queue Manager module allows direct
interaction with queue items for inspection and overriding queue processing.
Queue Manager is intended as a debugging/analysis tool, and provides access to manage Drupal Database queues without having to write the SQL statements yourself every time.
Queue Manager should be used with caution, as it gives you the ability to delete queue items which may be being processed. As such, the "admin queue_manager" permission created by the module should only be ranted to roles with advanced site privileges.
Queue Manager functionality
Queue Manager allows you to:
* View all Database Queues in your Drupal database
* View the details of individual queue items in a queue
* Force the releasing of individual queue items in a queue
* Force the deletion of individual queue item in a queue
Queue Manager does not provide any functionality for any queue backends other than Drupal Database Queues. For Queue backends such as ActiveMQ or Beanstalkd this functionality is provided by the queueing software itself.
Using Queue Manager
Queue manager can be accessed at http://[yoursite]/admin/config/system/queue_manager
Alternative modules
Queue UI - http://drupal.org/project/queue_ui
Queue UI uses queues which have been identified via hook_queue_info() and are processed by Drupal Cron. It allows queues to be processed and deleted, but doesn't allow the forced deletion or releasing of Queue API.
Queue Manager is currently Drupal 7 only, may be back ported to Drupal 6 when complete.
Reviews of Other Projects
http://drupal.org/node/1901802#comment-7037618
http://drupal.org/node/1908394#comment-7037740
http://drupal.org/node/1905638#comment-7037948
Comments
Comment #0.0
tsphethean commentedUpdated issue summary.
Comment #0.1
tsphethean commentedUpdated issue summary.
Comment #1
samail commentedHi tsphethean,
Thanks for submitting a project application for review.
The PAReview tool identified a few issues which need addressing:
Review of the master branch:
You can make the test again by yourself : http://ventral.org/pareview/httpgitdrupalorgsandboxtsphethean1678466git
Please check/fix these issues before changing the status back to "needs review"
Comment #1.0
samail commentedAdded 2 links to projects reviewed for review bonus
Comment #2
tsphethean commentedThanks samail - ventral is now reporting this all ok except for the fact I'm not working on a branch.
http://ventral.org/pareview/httpgitdrupalorgsandboxtsphethean1678466git
Setting back to needs review and adding PAReview bonus tag as have now added 3 other project reviews to the issue summary.
Comment #2.0
tsphethean commentedAdd third review of other project approval request.
Comment #3
coltraneHi! Thanks for mentioning the Queue UI module.
I don't think just because Queue UI doesn't do "allow the forced deletion or releasing of Queue API" that there should be another similar module for handling queues. Would you want to become co-maintainer of Queue UI?
Comment #4
tsphethean commentedHi coltrane,
Happy to become a co-maintainer of Queue UI, and I'd pondered whether the overlap was too much but I think they do have different use cases and I wasn't sure they belonged together:
Queue UI - from what I've explored of it - could basically be used with any queue back end and uses Queue API for the queue counts, releasing etc, and uses the queues exposed by hook_queue_info to work out what it needs to be displaying. This means it will be for any queue backend.
Queue Manager - which will work only on SystemQueue classed queues (db queues) works a more like the queue admin screen in ActiveMQ, or the management consoles in any other queuing tool, in that it is giving direct access into the queueing backend and overriding what the API does. It fitted a use case where we had a reasonably high number of DB based queues and were using error queues etc for handling failures in processing. This got round the need to use SQL to inspect the messages for reasons behind the failures and then manually forcing them back on to a queue or deleting them - so that the task could be passed off to a site admin team rather than the dev/backend teams.
Maybe the module should be renamed "DB Queue Manager" or do you still think there's enough crossover between the two that we'd be better off merging them and exposing additional functionality in Queue UI for those queues that are DB classed queues?
Comment #5
coltraneHi tsphethean, that is a different use case from Queue UI right now but I do think that functionality could be extend Queue UI for db queues. Queue inspection was something I hoped to provide with Queue UI but hadn't gotten to it.
Comment #6
klausiThis sounds like a feature that should live in the existing queue_ui project. Module duplication and fragmentation is a huge problem on drupal.org and we prefer collaboration over competition. Please open an issue in the queue_ui issue queue to discuss what you need. You should also get in contact with the maintainer(s) to offer your help to move the project forward. If you cannot reach the maintainer(s) please follow the abandoned project process.
If that fails for whatever reason please get back to us and set this back to "needs review".
Comment #7
tsphethean commentedSure, that sounds reasonable to me - thanks all for comments.
Comment #8
tsphethean commentedClosing this issue as I've created an issue in the Queue UI project to discuss incorporating my sandbox ideas into the Queue UI module.
#1913330: Add queue item management to Queue UI
Comment #8.0
tsphethean commentedrevise issue summary for reviews.