Repository navigation
Wait up to 10 minutes for a translation job, not 60 polls - #125
Merged
Merged
Conversation
- The poll cap was 60 checks of about 3 seconds, so the CLI gave up on a job after roughly 3 minutes and recorded its locale as failed. The 10-minute limit in monitorJobStatus never fired: its start time reset on every check - A job is now polled until 10 minutes after the CLI started monitoring it, however many checks that takes. Past that it takes the same give-up path as before; the message names the wait instead of a count - Checks run every 3 seconds for the first minute, as before, then every 10 seconds - A failed status still fails at once
This was referenced Oct 9, 2026
Merged
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Problem
The CLI gave up on a translation job after 60 status checks of about 3 seconds each, so roughly 3 minutes, and recorded that locale as failed. The 10-minute limit in
monitorJobStatusnever fired: its start time reset on every check, and so did the backoff (always 1s). Jobs whose validation takes longer, which the backend allows for larger jobs, were dropped even when they completed later.Fix
JOB_WAIT_MINUTES). Past that it takes the same give-up path as before: final progress check, same messages, locale added tofailedLanguages.monitorJobStatusdoes one check and returns; the do/while that never looped, itsstartTime/retriesand the outer 2s wait are gone.failedstatus still fails on the first check.Open question
Server-side, a large job's validation plus a retry cycle can exceed 10 minutes (initial cycle 2s per validation, retry cycle ~60s per candidate). 15 minutes may be the safer budget; kept at 10 here to match the existing intent.
Backend side: localheroai/localhero-ai#884.
Testing
validatingfor 5 minutes of fake time, then completes, is applied; waits are 3s then capped at 10s.failedLanguages.tscclean. Codex review: no findings.