Description
The current worker selection logic uses a single-shot round-robin strategy: it picks only one worker per request and immediately returns an error if that worker is busy, without attempting any others. When a single endpoint hangs or comes under heavy load, the worker queue bound to that endpoint can fill up rapidly, resulting in a large number of ErrNoAvailableWorker errors—even when other workers remain idle.
A better approach would be to iterate through all workers and pick the first idle one, returning an error only when all workers are busy.
InLong Component
InLong SDK
Are you willing to submit PR?
Code of Conduct
Description
The current worker selection logic uses a single-shot round-robin strategy: it picks only one worker per request and immediately returns an error if that worker is busy, without attempting any others. When a single endpoint hangs or comes under heavy load, the worker queue bound to that endpoint can fill up rapidly, resulting in a large number of
ErrNoAvailableWorkererrors—even when other workers remain idle.A better approach would be to iterate through all workers and pick the first idle one, returning an error only when all workers are busy.
InLong Component
InLong SDK
Are you willing to submit PR?
Code of Conduct