Survive Binance eapi 418/429 with cooldown, soft start, and no ticker raise.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
dekun
2026-07-25 12:49:14 +08:00
parent 867deba1bb
commit 21ca5cbfe0
3 changed files with 115 additions and 53 deletions
+8 -1
View File
@@ -230,8 +230,15 @@ class StrategyEngine:
except asyncio.CancelledError:
raise
except Exception as e:
err = str(e)
# 限流时勿刷屏;拉长休眠给 eapi 冷却
if "418" in err or "429" in err or "cooldown" in err.lower():
logger.warning("strategy tick rate-limited: %s", err[:200])
self._set_state(last_error="币安期权接口限流,稍后自动重试")
await asyncio.sleep(15)
continue
logger.exception("strategy tick failed")
self._set_state(last_error=str(e))
self._set_state(last_error=err)
await asyncio.sleep(1)
async def _tick_async(self) -> None: