auto-sync: 2026-06-02 19:10:35 (catch-all)

This commit is contained in:
cfdaily
2026-06-02 19:10:35 +08:00
parent f83de496e3
commit b41c62bfc2
+5
View File
@@ -842,6 +842,9 @@ curl -X POST http://{api_host}:{api_port}/api/projects/{project_id}/tasks/{task_
"compact_hanging", "agent_error") and self.counter:
self.counter.set_cooldown(agent_id, seconds=300) # 5 分钟
logger.info("Crash/error cooldown set for %s: 300s (outcome=%s)", agent_id, outcome)
# 注意: cooldown 期间任务状态仍为 working,但 counter 已释放。
# DB 中的 working 是“假 working”——ticker 不会重新分配,_check_timeouts 会
# 在 cooldown 结束后回收。如果 ticker 在此期间给同一 agent 分配新任务,属正常行为。
# 进程退出 → on_complete release counter
# 任务状态由各 outcome 自行处理(或等 ticker)
await self._do_on_complete_async(on_complete, agent_id, outcome)
@@ -1303,6 +1306,8 @@ curl -X POST http://{api_host}:{api_port}/api/projects/{project_id}/tasks/{task_
return {"outcome": "fallback_timeout", "should_retry": False}
# A2/A3: status=timeout → 唯一续杯场景
# 注意: PM2 restart 时 daemon 自身也收到 SIGTERM,此时 retry spawn 的新进程
# 会随 daemon 一起被杀。A14 retry 假设 daemon 存活,PM2 级重启不在此场景内。
if status == "timeout":
return {"outcome": "gateway_timeout", "should_retry": True,
"retry_field": "retry_count"}