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
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:
Comments
Comment #2
hoanns CreditAttribution: hoanns commentedI 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.
Comment #4
hoanns CreditAttribution: hoanns at QuoData GmbH Quality & Statistics commentedI marked this as a bug because of the reason I listed earlier.
I created a merge request with a fix and tested it.
Comment #5
volegerSorry 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.