Browse Source

加一下跟踪log

origin/hotfix/hlk-flight
root 4 months ago
parent
commit
1ec8200aaa
  1. 2
      app/core/websocket/adapter.py
  2. 31
      modify.md

2
app/core/websocket/adapter.py

@ -68,6 +68,7 @@ class WebSocketAdapter:
async def _send_loop(self): async def _send_loop(self):
"""发送循环:优先处理优先级Channel,其次处理普通出站Channel""" """发送循环:优先处理优先级Channel,其次处理普通出站Channel"""
logger.debug(f"发送循环启动: {self.client.name} (out:{self.outbound_channel.name} / in:{self.inbound_channel.name})")
try: try:
# 优先级Channel命名约定:f"{outbound}_priority";不存在则仅用普通通道 # 优先级Channel命名约定:f"{outbound}_priority";不存在则仅用普通通道
priority_channel_name = f"{self.outbound_channel.name}_priority" priority_channel_name = f"{self.outbound_channel.name}_priority"
@ -166,6 +167,7 @@ class WebSocketAdapter:
async def _heartbeat_loop(self): async def _heartbeat_loop(self):
"""心跳循环:以优先级消息写入,并由发送循环优先处理""" """心跳循环:以优先级消息写入,并由发送循环优先处理"""
logger.debug(f"心跳循环启动: {self.client.name} (out:{self.outbound_channel.name} / in:{self.inbound_channel.name}) 间隔:{self.heartbeat_interval}")
try: try:
priority_channel_name = f"{self.outbound_channel.name}_priority" priority_channel_name = f"{self.outbound_channel.name}_priority"
from app.core.websocket.manager import websocket_manager from app.core.websocket.manager import websocket_manager

31
modify.md

@ -2,6 +2,37 @@
## 2025-08-11 ## 2025-08-11
### WebSocket适配器方法跟踪日志
**问题**:需要为 `_heartbeat_loop``_send_loop` 方法添加入口跟踪日志,便于调试和监控
**解决方案**:在方法入口处添加简洁的debug级别日志
**文件变更**:
- 更新 `app/core/websocket/adapter.py` - 为关键方法添加入口跟踪日志
**修改内容**:
```python
async def _send_loop(self):
"""发送循环:优先处理优先级Channel,其次处理普通出站Channel"""
logger.debug(f"发送循环启动: {self.client.name} (out:{self.outbound_channel.name} / in:{self.inbound_channel.name})")
try:
# ... 现有代码 ...
async def _heartbeat_loop(self):
"""心跳循环:以优先级消息写入,并由发送循环优先处理"""
logger.debug(f"心跳循环启动: {self.client.name} (out:{self.outbound_channel.name} / in:{self.inbound_channel.name}) 间隔:{self.heartbeat_interval}秒")
try:
# ... 现有代码 ...
```
**优化效果**:
- ✅ 便于跟踪WebSocket适配器的生命周期
- ✅ 提供关键方法的执行状态信息
- ✅ 日志简洁,不会产生过多输出
- ✅ 包含客户端名称和通道信息,便于定位问题
### 应用启动优化 - 移除不必要的WebSocket Channel初始化
### 应用启动优化 - 移除不必要的WebSocket Channel初始化 ### 应用启动优化 - 移除不必要的WebSocket Channel初始化
**问题**:`startup_event` 中初始化默认WebSocket Channels是不必要的,因为: **问题**:`startup_event` 中初始化默认WebSocket Channels是不必要的,因为:
1. Channels是在需要时才创建的(按需创建) 1. Channels是在需要时才创建的(按需创建)

Loading…
Cancel
Save