mirror of
https://github.com/zhinianboke/xianyu-auto-reply.git
synced 2025-08-02 04:27:36 +08:00
修改bug
This commit is contained in:
parent
1dd4d9b841
commit
f9a3881b74
@ -1723,30 +1723,43 @@ class XianyuLive:
|
||||
|
||||
async def _create_websocket_connection(self, headers):
|
||||
"""创建WebSocket连接,兼容不同版本的websockets库"""
|
||||
import websockets
|
||||
|
||||
# 获取websockets版本用于调试
|
||||
websockets_version = getattr(websockets, '__version__', '未知')
|
||||
logger.debug(f"websockets库版本: {websockets_version}")
|
||||
|
||||
try:
|
||||
# 尝试使用extra_headers参数
|
||||
return websockets.connect(
|
||||
self.base_url,
|
||||
extra_headers=headers
|
||||
)
|
||||
except TypeError as e:
|
||||
# 安全地检查异常信息
|
||||
except Exception as e:
|
||||
# 捕获所有异常类型,不仅仅是TypeError
|
||||
error_msg = self._safe_str(e)
|
||||
logger.debug(f"extra_headers参数失败: {error_msg}")
|
||||
|
||||
if "extra_headers" in error_msg:
|
||||
logger.warning("websockets库不支持extra_headers参数,使用兼容模式")
|
||||
if "extra_headers" in error_msg or "unexpected keyword argument" in error_msg:
|
||||
logger.warning("websockets库不支持extra_headers参数,尝试additional_headers")
|
||||
# 使用additional_headers参数(较新版本)
|
||||
try:
|
||||
return websockets.connect(
|
||||
self.base_url,
|
||||
additional_headers=headers
|
||||
)
|
||||
except TypeError:
|
||||
# 如果都不支持,则不传递headers
|
||||
logger.warning("websockets库不支持headers参数,使用基础连接模式")
|
||||
return websockets.connect(self.base_url)
|
||||
except Exception as e2:
|
||||
error_msg2 = self._safe_str(e2)
|
||||
logger.debug(f"additional_headers参数失败: {error_msg2}")
|
||||
|
||||
if "additional_headers" in error_msg2 or "unexpected keyword argument" in error_msg2:
|
||||
# 如果都不支持,则不传递headers
|
||||
logger.warning("websockets库不支持headers参数,使用基础连接模式")
|
||||
return websockets.connect(self.base_url)
|
||||
else:
|
||||
raise e2
|
||||
else:
|
||||
raise
|
||||
raise e
|
||||
|
||||
async def _handle_websocket_connection(self, websocket, toid, item_id, text):
|
||||
"""处理WebSocket连接的具体逻辑"""
|
||||
|
93
docker-rebuild.sh
Normal file
93
docker-rebuild.sh
Normal file
@ -0,0 +1,93 @@
|
||||
#!/bin/bash
|
||||
|
||||
# ================================
|
||||
# 闲鱼自动回复系统 - Docker重新构建脚本
|
||||
# ================================
|
||||
|
||||
set -e
|
||||
|
||||
echo "🐳 闲鱼自动回复系统 - Docker重新构建"
|
||||
echo "=================================="
|
||||
|
||||
# 检查Docker是否运行
|
||||
if ! docker info > /dev/null 2>&1; then
|
||||
echo "❌ Docker未运行,请先启动Docker"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "📋 步骤1: 停止并删除现有容器"
|
||||
echo "--------------------------------"
|
||||
|
||||
# 停止现有容器
|
||||
if docker ps -q --filter "name=xianyu-auto-reply" | grep -q .; then
|
||||
echo "🛑 停止现有容器..."
|
||||
docker stop xianyu-auto-reply
|
||||
fi
|
||||
|
||||
# 删除现有容器
|
||||
if docker ps -aq --filter "name=xianyu-auto-reply" | grep -q .; then
|
||||
echo "🗑️ 删除现有容器..."
|
||||
docker rm xianyu-auto-reply
|
||||
fi
|
||||
|
||||
echo "📋 步骤2: 删除现有镜像"
|
||||
echo "--------------------------------"
|
||||
|
||||
# 删除现有镜像
|
||||
if docker images -q xianyu-auto-reply | grep -q .; then
|
||||
echo "🗑️ 删除现有镜像..."
|
||||
docker rmi xianyu-auto-reply
|
||||
fi
|
||||
|
||||
echo "📋 步骤3: 重新构建镜像"
|
||||
echo "--------------------------------"
|
||||
|
||||
echo "🔨 开始构建新镜像..."
|
||||
docker build -t xianyu-auto-reply .
|
||||
|
||||
echo "📋 步骤4: 启动新容器"
|
||||
echo "--------------------------------"
|
||||
|
||||
echo "🚀 启动新容器..."
|
||||
docker run -d \
|
||||
--name xianyu-auto-reply \
|
||||
--restart unless-stopped \
|
||||
-p 8080:8080 \
|
||||
-v "$(pwd)/data:/app/data" \
|
||||
-v "$(pwd)/logs:/app/logs" \
|
||||
-v "$(pwd)/backups:/app/backups" \
|
||||
-e DOCKER_ENV=true \
|
||||
xianyu-auto-reply
|
||||
|
||||
echo "📋 步骤5: 检查容器状态"
|
||||
echo "--------------------------------"
|
||||
|
||||
# 等待容器启动
|
||||
echo "⏳ 等待容器启动..."
|
||||
sleep 5
|
||||
|
||||
# 检查容器状态
|
||||
if docker ps --filter "name=xianyu-auto-reply" --filter "status=running" | grep -q xianyu-auto-reply; then
|
||||
echo "✅ 容器启动成功"
|
||||
|
||||
echo "📋 容器信息:"
|
||||
docker ps --filter "name=xianyu-auto-reply" --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}"
|
||||
|
||||
echo "📋 最近日志:"
|
||||
docker logs --tail 20 xianyu-auto-reply
|
||||
|
||||
echo ""
|
||||
echo "🎉 Docker重新构建完成!"
|
||||
echo "=================================="
|
||||
echo "📱 Web界面: http://localhost:8080"
|
||||
echo "📊 健康检查: http://localhost:8080/health"
|
||||
echo "📋 查看日志: docker logs -f xianyu-auto-reply"
|
||||
echo "🛑 停止容器: docker stop xianyu-auto-reply"
|
||||
echo "🗑️ 删除容器: docker rm xianyu-auto-reply"
|
||||
|
||||
else
|
||||
echo "❌ 容器启动失败"
|
||||
echo "📋 错误日志:"
|
||||
docker logs xianyu-auto-reply
|
||||
exit 1
|
||||
fi
|
@ -11,7 +11,7 @@ pydantic>=2.7.0
|
||||
loguru>=0.7.0
|
||||
|
||||
# 网络通信
|
||||
websockets>=12.0
|
||||
websockets>=10.0,<13.0
|
||||
aiohttp>=3.9.0
|
||||
requests>=2.31.0
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user