feat(controller): add wfThrottleQueue to accelerate event handling. Fixes: #14791 #14876
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes #14791
Motivation
This PR introduces a
wfThrottleQueueto accelerate event handling in the workflow controller, similar to PR #13419.The current implementation processes all workflow events through a single queue, which can become a bottleneck under high load. By adding a dedicated throttle queue, we can decouple event reception from processing and improve overall throughput.
Modifications
wfThrottleQueue: New dedicated queue for throttle operations inWorkflowControllerworkflow/sync/throttle_key.gowith type-safeThrottleActionconstantsrunThrottleWorker()andprocessNextThrottleItem()methods--workflow-throttle-workersflag (default: 8 workers)Verification
Documentation