This commit is contained in:
薇薇安 2026-01-14 20:39:02 +08:00
parent 47a8c45a0b
commit 72c509e4bc
2 changed files with 7 additions and 7 deletions

View File

@ -280,11 +280,11 @@ class MarketScanner:
"""
# 使用标准WebSocket
try:
if self.client.socket_manager:
# python-binance 中futures_socket() 需要传递 WebSocket 路径
if self.client and self.client.client:
# 对于 AsyncClient直接使用 client 的 futures_socket 方法
# 单个交易对的 ticker 流路径格式f"{symbol.lower()}@ticker"
ws_path = f"{symbol.lower()}@ticker"
async with self.client.socket_manager.futures_socket(ws_path) as stream:
async with self.client.client.futures_socket(ws_path) as stream:
async for msg in stream:
try:
# WebSocket 返回的数据格式:{'e': '24hrTicker', 's': 'BTCUSDT', 'c': '50000.00', ...}

View File

@ -745,7 +745,7 @@ class PositionManager:
logger.info("实时监控已禁用,跳过启动")
return
if not self.client.socket_manager:
if not self.client or not self.client.client:
logger.warning("WebSocket未初始化无法启动实时监控")
return
@ -824,7 +824,7 @@ class PositionManager:
logger.debug(f"{symbol} 监控任务已存在,跳过")
return
if not self.client.socket_manager:
if not self.client or not self.client.client:
logger.warning(f"{symbol} WebSocket未初始化无法启动监控")
return
@ -873,10 +873,10 @@ class PositionManager:
break
# 使用WebSocket订阅价格流
# python-binance 中futures_socket() 需要传递 WebSocket 路径
# 对于 AsyncClient直接使用 client 的 futures_socket 方法
# 单个交易对的 ticker 流路径格式f"{symbol.lower()}@ticker"
ws_path = f"{symbol.lower()}@ticker"
async with self.client.socket_manager.futures_socket(ws_path) as stream:
async with self.client.futures_socket(ws_path) as stream:
logger.debug(f"{symbol} WebSocket连接已建立开始接收价格更新")
retry_count = 0 # 连接成功,重置重试计数