diff --git a/okx-auto-position/scripts/signal_queue.py b/okx-auto-position/scripts/signal_queue.py index 229ca2a..5c9423b 100644 --- a/okx-auto-position/scripts/signal_queue.py +++ b/okx-auto-position/scripts/signal_queue.py @@ -107,12 +107,15 @@ if __name__ == "__main__": ["python3", os.path.expanduser("~/.hermes/skills/trading/okx-auto-position/scripts/process_signal.py"), raw], capture_output=True, text=True, timeout=120 ) - if r.returncode == 0: + # 2026-09-21: 即使 returncode=0, stdout 含 "❌" 也 mark_failed + is_failed = r.returncode != 0 or "❌" in r.stdout or "⏭️" in r.stdout or "⚠️" in r.stdout + if is_failed: + err_msg = (r.stderr or r.stdout)[:200] + mark_failed(row_id, err_msg) + print(f" ❌ 失败 (含错误标记): {err_msg[:80]}") + else: mark_done(row_id, r.stdout[:200]) print(f" ✅ 成功") - else: - mark_failed(row_id, r.stderr[:200]) - print(f" ❌ 失败: {r.stderr[:100]}") except Exception as e: mark_failed(row_id, str(e)) print(f" ❌ 异常: {e}")