From 4adc85736491f68477134f8c827b7bd39861b890 Mon Sep 17 00:00:00 2001 From: cfdaily Date: Sun, 17 May 2026 21:52:41 +0800 Subject: [PATCH] auto-sync: 2026-05-17 21:52:41 --- src/daemon/ticker.py | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/daemon/ticker.py b/src/daemon/ticker.py index 46908a8..50c4b87 100644 --- a/src/daemon/ticker.py +++ b/src/daemon/ticker.py @@ -490,6 +490,24 @@ class Ticker: return reclaimed + def _check_recent_routing(self, db_path: Path, task_id: str, + action_type: str) -> bool: + """检查最近 5 分钟内是否已 dispatch 过指定类型的路由(防重复)""" + try: + conn = get_connection(db_path) + try: + row = conn.execute( + "SELECT COUNT(*) as cnt FROM routing_decisions " + "WHERE task_id=? AND outcome='dispatched' " + "AND created_at > datetime('now', '-5 minutes')", + (task_id,), + ).fetchone() + return row["cnt"] > 0 if row else False + finally: + conn.close() + except Exception: + return False + # ------------------------------------------------------------------ # 手动 tick(API 端点触发) # ------------------------------------------------------------------