diff --git a/src/daemon/spawner.py b/src/daemon/spawner.py index 50e8228..51a7f8d 100644 --- a/src/daemon/spawner.py +++ b/src/daemon/spawner.py @@ -700,13 +700,13 @@ curl -X POST http://{api_host}:{api_port}/api/projects/{project_id}/tasks/{task_ # A8: Gateway 不可达 if exit_code != 0 and any(kw in stderr_text for kw in ["ECONNREFUSED", "ETIMEDOUT", "gateway closed", "ECONNRESET"]): - return {"outcome": "gateway_unreachable", "release_counter": False, + return {"outcome": "gateway_unreachable", "release_counter": True, "should_retry": False, # 让 ticker 自然重试 "count_field": "connect_retry_count"} # A9: API 错误 if exit_code != 0 and any(kw in stderr_text for kw in ["rate_limit", "500", "503", "API error"]): - return {"outcome": "api_error", "release_counter": False, + return {"outcome": "api_error", "release_counter": True, "should_retry": False, "count_field": "api_retry_count"} @@ -717,7 +717,7 @@ curl -X POST http://{api_host}:{api_port}/api/projects/{project_id}/tasks/{task_ # A11: Lock 冲突 if exit_code != 0 and any(kw in stderr_text for kw in ["lock", "busy", "concurrent", "lane task error"]): - return {"outcome": "lock_conflict", "release_counter": False, + return {"outcome": "lock_conflict", "release_counter": True, "should_retry": False, "count_field": "lock_retry_count"}