AgentEvalTool/tests/integration
sinohqb 8910fd17e0 feat(campaigns): durable scheduler loop with restart recovery and cancel
Add a thin async loop (run_campaign_loop) that ticks on real wall-clock time,
maps elapsed×time_scale to a window offset via the pure decide_schedule, spawns
due child Runs, and marks the campaign COMPLETED at window end. All authority
lives in the DB (started_at, spawned_indices, status), so the app lifespan can
resume every RUNNING campaign on startup without double-spawning and stop all
loops gracefully on shutdown. A failing plan entry is skipped and recorded
rather than wedging the campaign.

Creating a campaign now starts its loop; POST /api/campaigns/{id}/cancel stops
further spawning (completed child Runs are kept); GET /api/campaigns/{id}
reports live progress (window offset, spawned/completed Run counts).
2026-07-30 13:33:10 +08:00
..
__init__.py v0.2.0-dev: 文件管理 + 页面布局统一 + 6 个 bug 修复 2026-07-16 15:25:22 +08:00
test_auth_api.py feat(backend): v0.4 triggered_by tracking, login gate, compare guard, dashboard stats 2026-07-28 17:40:54 +08:00
test_campaign_runner.py feat(campaigns): add scheduling decision and child-Run spawning 2026-07-30 12:06:31 +08:00
test_campaign_scheduler_loop.py feat(campaigns): durable scheduler loop with restart recovery and cancel 2026-07-30 13:33:10 +08:00
test_campaigns_api.py feat(campaigns): durable scheduler loop with restart recovery and cancel 2026-07-30 13:33:10 +08:00
test_files_api.py feat(files): improve category and location layout 2026-07-17 18:13:43 +08:00
test_model_config_migration.py feat(models): add centralized model configuration 2026-07-17 20:02:43 +08:00
test_model_configs_api.py feat(models): add model capability metadata 2026-07-17 21:41:32 +08:00
test_reports_api.py feat(report): compare requires same scenario version (ticket 05) 2026-07-29 11:21:52 +08:00
test_runs_api.py feat(run): snapshot scenario version at run creation (ticket 04) 2026-07-29 10:59:44 +08:00
test_scenario_version_migration.py feat(run): snapshot scenario version at run creation (ticket 04) 2026-07-29 10:59:44 +08:00
test_scenarios_api.py feat(scenario): system-maintained syllabus version (ticket 03) 2026-07-29 10:42:35 +08:00
test_stats_api.py feat(backend): v0.4 triggered_by tracking, login gate, compare guard, dashboard stats 2026-07-28 17:40:54 +08:00