diff --git a/deploy/profile-scripts/candidate_filter.py b/deploy/profile-scripts/candidate_filter.py index fe8b981a..d5fc1a52 100644 --- a/deploy/profile-scripts/candidate_filter.py +++ b/deploy/profile-scripts/candidate_filter.py @@ -373,6 +373,15 @@ def stage5_fundamental(code, name, price): # ── 主流程 ── def main(): + # ── 单例守卫(规范5.3,2026-08-10)── + import fcntl + lock_f = open("/tmp/candidate_filter.lock", "w") + try: + fcntl.flock(lock_f, fcntl.LOCK_EX | fcntl.LOCK_NB) + except OSError: + print("[FILTER] 已有实例在运行,退出") + return + stage_filter = None single_code = None for i, arg in enumerate(sys.argv[1:]):