diff --git a/backend/app/services/price_monitor_service.py b/backend/app/services/price_monitor_service.py index 0cca589..67cf467 100644 --- a/backend/app/services/price_monitor_service.py +++ b/backend/app/services/price_monitor_service.py @@ -41,18 +41,18 @@ class PriceMonitorService: self._poll_interval = 3 # 轮询间隔(秒) self._session = requests.Session() - logger.info("价格监控服务初始化完成(轮询模式)") + logger.info(f"[PriceMonitor:{id(self)}] 价格监控服务初始化完成(轮询模式)") def start(self): """启动价格轮询""" if self.running: - logger.debug("价格监控服务已在运行") + logger.debug(f"[PriceMonitor:{id(self)}] 价格监控服务已在运行") return self.running = True def _poll_loop(): - logger.info(f"价格轮询已启动,间隔 {self._poll_interval} 秒") + logger.info(f"[PriceMonitor:{id(self)}] 价格轮询已启动,间隔 {self._poll_interval} 秒") while self.running: try: self._fetch_prices() @@ -148,14 +148,19 @@ class PriceMonitorService: Args: symbol: 交易对,如 "BTCUSDT" """ + import traceback symbol = symbol.upper() + # 添加调用栈追踪 + stack = traceback.extract_stack() + caller = stack[-2] if len(stack) >= 2 else None + if symbol in self.subscribed_symbols: - logger.debug(f"已订阅 {symbol}") + logger.debug(f"[PriceMonitor:{id(self)}] {symbol} 已订阅,跳过 (来自: {caller})") return self.subscribed_symbols.add(symbol) - logger.info(f"已订阅 {symbol} 价格更新") + logger.info(f"[PriceMonitor:{id(self)}] 已订阅 {symbol} 价格更新 (来自: {caller},当前订阅: {self.subscribed_symbols})") # 如果服务未启动,自动启动 if not self.running: