Stop working on translations whose caller has already given up

FixTranslateService
Shipped
September 5, 2026 at 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?

Every one of these updates lands in your workspace automatically. Start free and watch it grow week after week.

Start Free ForeverView Pricing