Treat CoderAI broker warm-up as wait-and-retry, not a provider failure
CoderAI workers often run on small/edge hardware that drops its broker
session while cooling down to avoid overheating. A missing broker session
("No active CoderAI broker session...") was treated as a hard error:
record_failure() was called in both the provider handler and the rotation
loop, so three of them in one request disabled the provider for a 300s
cooldown — exactly when it just needed a moment to warm back up.
Now this transient condition is handled gracefully:
- coderai.py no longer records a failure when the error is a missing broker
session (in any request path), so it never counts toward the disable
threshold.
- The rotation handler detects the CoderAI warm-up condition and waits
CODERAI_WARMUP_WAIT_SECONDS (10s) before retrying the same provider, up to
CODERAI_MAX_WARMUP_WAITS (3) times, fully transparent to the client. Only
after that does it fail over to the next provider — still without recording
a failure.
Bump version to 0.99.76.
Co-Authored-By:
Claude Opus 4.8 <noreply@anthropic.com>
Showing
Please
register
or
sign in
to comment