Problem/Motivation

Add functionality to handle \Drupal\Core\Queue\DelayedRequeueException introduced to Drupal 9.1 in #3116478: Add a way to silently keep an item locked when processing a queue via cron.

Though I dont think Queue UI needs to implement any delay mechanism, it may help to report to the UI the quantity and duration of delayed items.

Specifically handling DelayedRequeueException is also necessary as current logic will catch this exception as an instance of \Exception, and log an error. When in fact a delayed item ins't necessarily errenous.

Proposed resolution

tbd

Remaining tasks

tbd

User interface changes

tbd

Issue fork queue_ui-3178080

Command icon Show commands

Start within a Git clone of the project using the version control instructions.

Or, if you do not have SSH keys set up on git.drupalcode.org:

Support from Acquia helps fund testing for Drupal Acquia logo

Comments

dpi created an issue. See original summary.

hoanns’s picture

I think it is important to implement the delay mechanism. If you throw a DelayedRequeueException you expect it to be run again after the specified delay, not sooner.

If QueueUI handles that queue and does not delay correctly it breaks that promise and will lead to problems.

hoanns’s picture

Category: Feature request » Bug report
Status: Active » Needs review

I marked this as a bug because of the reason I listed earlier.

I created a merge request with a fix and tested it.

voleger’s picture

Status: Needs review » Fixed

Sorry for the delay. We have a war around here. But anyway...
Wow, thanks for the fix related to the submit handler.
And exception handling looks good for me.
More tests, more stability to the module. I'll merge the MR for this time without test as it is a critical issue.

  • voleger committed 74b87f0 on 8.x-2.x authored by hoanns
    Issue #3178080 by hoanns: Queue UI should handle DelayedRequeueException...

  • voleger committed 74b87f0 on 3.0.x authored by hoanns
    Issue #3178080 by hoanns: Queue UI should handle DelayedRequeueException...

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.