Skip to content

feat: add routing strategies and recover failed account runtimes - #97

Merged
caigee-cmd merged 5 commits into
mainfrom
codex/freeze-changelog-v0.2.44
Sep 5, 2026
Merged

feat: add routing strategies and recover failed account runtimes#97
caigee-cmd merged 5 commits into
mainfrom
codex/freeze-changelog-v0.2.44

Conversation

@caigee-cmd

Copy link
Copy Markdown
Owner

Summary

  • Add console-selectable account routing: round-robin, weighted round-robin, and fill-first.
  • Recover failed account runtimes with exponential backoff, and keep starting accounts out of the scheduler until health succeeds.
  • Surface starting / recovering / auth-failed states on account cards, plus session-affinity stats on the System page.
  • Move per-account concurrency off QODER_MAX_INFLIGHT and align README / deploy docs with current providers, session affinity, and API routes.

Test plan

  • go test ./internal/accounts ./internal/api ./internal/executor
  • After merge, deploy us1 without rsync --delete; confirm deploy/.env and docker-compose.override.yml still exist
  • Recreate from /root/qoder-api-proxy-src/deploy with --env-file .env so the override loads
  • Probe /health on loopback, public hairpin, and the sub2api Docker network
  • Confirm System page routing strategy + session affinity stats, and account cards show starting/recovering states

Let operators pick round-robin, weighted round-robin, or fill-first from
the System page, recover crashed account daemons with exponential backoff,
and keep starting accounts out of the scheduler until health succeeds.
The cooldown drainer drops a dirty snapshot while a write is in flight and
only requeues it after the failure, so a sleep-based assertion can miss it.
The recorder purges logs older than 7 days on boot, so fixtures dated
2026-08-28 were deleted before the list and stats assertions ran.
@caigee-cmd
caigee-cmd merged commit 244e2e9 into main Sep 5, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant