auto-sync: 2026-05-24 19:57:10

This commit is contained in:
cfdaily
2026-05-24 19:57:10 +08:00
parent 836596efb7
commit 501c5862b3
+20 -8
View File
@@ -475,22 +475,34 @@ class Ticker:
if result["status"] == "dispatched" and result["level"] in ("full", "escalate"):
conn = get_connection(db_path)
try:
ok = self._transition_status(
conn, task.id, "claimed",
agent="daemon",
detail={"dispatched_to": result["agent_id"],
"session_id": result.get("session_id")},
)
if ok:
# [v2.7.1] Mail 已在 dispatcher 中标 working,跳过 claimed
if project_id == "_mail":
conn.execute(
"UPDATE tasks SET current_agent=? WHERE id=?",
(result["agent_id"], task.id),
)
conn.commit()
dispatched.append(task.id)
logger.info("Dispatched %s to %s (session=%s)",
logger.info("Dispatched %s to %s (session=%s, mail auto-working)",
task.id, result["agent_id"],
result.get("session_id"))
else:
ok = self._transition_status(
conn, task.id, "claimed",
agent="daemon",
detail={"dispatched_to": result["agent_id"],
"session_id": result.get("session_id")},
)
if ok:
conn.execute(
"UPDATE tasks SET current_agent=? WHERE id=?",
(result["agent_id"], task.id),
)
conn.commit()
dispatched.append(task.id)
logger.info("Dispatched %s to %s (session=%s)",
task.id, result["agent_id"],
result.get("session_id"))
finally:
conn.close()
elif result["status"] == "blocked":