KamoCRM

Stop working on translations whose caller has already given up

FixTranslateService
Shipped
5 செப்டம்பர், 2026 அன்று 3:05 PM UTC
Author
Kamo
Commit
b424dd7

Three attempts of ninety seconds plus backoff is up to 274 seconds of work per translation, and every caller we have gives up long before that — KBService's client reads for 120. The tail of that budget produced translations nobody was waiting for, while holding a worker that the next caller then queued behind. Under load that is self-sustaining: the queue fills with work whose requesters have already timed out, so the requests that are still live wait behind requests that are not. A total budget of 100s now spans every attempt. It sits below the tightest caller's timeout so we always fail before they do, which also means they see our error naming the language pair rather than their own read timeout naming nothing.

All changes

Like what you see shipping?

All of it arrives in your workspace on its own. Start on the free plan and read this page again in a month.

Start Free ForeverView Pricing