auto-sync: 2026-06-05 08:05:57
This commit is contained in:
+8
-13
@@ -1134,19 +1134,6 @@ Parent Task ID: {parent_task.id}
|
||||
except Exception:
|
||||
logger.exception("Broadcast spawn failed for %s", agent_id)
|
||||
|
||||
# 检查是否可以结束轮次:所有 Agent 都已通知且全部反馈
|
||||
all_agent_ids = set(self._get_all_agent_ids())
|
||||
for t in broadcastable:
|
||||
tracker = self._broadcast_tracker[t.id]
|
||||
unnotified = all_agent_ids - tracker.notified_agents
|
||||
if not unnotified and tracker.responded_agents == tracker.notified_agents:
|
||||
# 一轮结束
|
||||
tracker.round_number += 1
|
||||
tracker.notified_agents.clear()
|
||||
tracker.responded_agents.clear()
|
||||
logger.info("Broadcast round %d completed for task %s (no taker)",
|
||||
tracker.round_number, t.id)
|
||||
|
||||
return spawned
|
||||
|
||||
def _build_claim_prompt(self, agent_id: str, tasks: list,
|
||||
@@ -1230,6 +1217,14 @@ Parent Task ID: {parent_task.id}
|
||||
self._broadcast_tracker.pop(task_id, None)
|
||||
else:
|
||||
tracker.responded_agents.add(agent_id)
|
||||
# 异步轮次结束检测:所有已通知的 Agent 都已反馈
|
||||
if tracker.notified_agents and tracker.responded_agents >= tracker.notified_agents:
|
||||
# 一轮结束
|
||||
tracker.round_number += 1
|
||||
tracker.notified_agents.clear()
|
||||
tracker.responded_agents.clear()
|
||||
logger.info("Broadcast round %d completed for task %s (async callback, no taker)",
|
||||
tracker.round_number, task_id)
|
||||
|
||||
def _get_all_agent_ids(self) -> List[str]:
|
||||
"""获取所有配置的 Agent ID"""
|
||||
|
||||
Reference in New Issue
Block a user