feat: Dashboard 自动启动飞书长连接服务
## 🚀 功能优化 ### 集成飞书长连接服务 - ✅ 修改 start_dashboard.py,自动在后台线程启动飞书长连接服务 - ✅ 一键启动所有服务(Web + WebSocket + 飞书) - ✅ 统一的日志输出,便于监控 ### 新增功能 - 添加 `start_feishu_longconn_service()` 函数 - 在后台线程中启动飞书长连接客户端 - 启动时显示飞书服务状态提示 ### 用户体验改进 - 无需手动启动多个终端 - 所有服务日志统一输出 - 简化部署流程 ## 📝 使用方式 现在只需一个命令启动所有服务: ```bash python3 start_dashboard.py ``` 这会自动启动: - Flask Web 应用(端口 5001) - WebSocket 服务器(端口 8765) - 飞书长连接服务(事件订阅 2.0) ## 🎯 优势 - ✅ 一键启动,简化操作 - ✅ 统一日志管理 - ✅ 便于生产环境部署 - ✅ 减少用户操作步骤 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -43,6 +43,23 @@ def start_websocket_server():
|
|||||||
except Exception as e:
|
except Exception as e:
|
||||||
print(f"WebSocket服务器启动失败: {e}")
|
print(f"WebSocket服务器启动失败: {e}")
|
||||||
|
|
||||||
|
def start_feishu_longconn_service():
|
||||||
|
"""启动飞书长连接服务"""
|
||||||
|
try:
|
||||||
|
import logging
|
||||||
|
logger = logging.getLogger("feishu_longconn")
|
||||||
|
logger.info("=" * 80)
|
||||||
|
logger.info("🚀 启动飞书长连接服务(后台线程)")
|
||||||
|
logger.info("=" * 80)
|
||||||
|
|
||||||
|
from src.integrations.feishu_longconn_service import get_feishu_longconn_service
|
||||||
|
service = get_feishu_longconn_service()
|
||||||
|
service.start() # 这会阻塞当前线程
|
||||||
|
except Exception as e:
|
||||||
|
print(f"❌ 飞书长连接服务启动失败: {e}")
|
||||||
|
import traceback
|
||||||
|
traceback.print_exc()
|
||||||
|
|
||||||
def check_database_connection():
|
def check_database_connection():
|
||||||
"""检查数据库连接"""
|
"""检查数据库连接"""
|
||||||
try:
|
try:
|
||||||
@@ -100,6 +117,8 @@ def main():
|
|||||||
print(f" 实时对话: http://localhost:{config.server.port}/chat")
|
print(f" 实时对话: http://localhost:{config.server.port}/chat")
|
||||||
print(f" WebSocket: ws://localhost:{config.server.websocket_port}")
|
print(f" WebSocket: ws://localhost:{config.server.websocket_port}")
|
||||||
print()
|
print()
|
||||||
|
print("🤖 飞书长连接服务: 已在后台启动")
|
||||||
|
print()
|
||||||
print("按 Ctrl+C 停止服务")
|
print("按 Ctrl+C 停止服务")
|
||||||
print("=" * 60)
|
print("=" * 60)
|
||||||
|
|
||||||
@@ -107,6 +126,14 @@ def main():
|
|||||||
websocket_thread = threading.Thread(target=start_websocket_server, daemon=True)
|
websocket_thread = threading.Thread(target=start_websocket_server, daemon=True)
|
||||||
websocket_thread.start()
|
websocket_thread.start()
|
||||||
|
|
||||||
|
# 在单独线程中启动飞书长连接服务
|
||||||
|
feishu_thread = threading.Thread(target=start_feishu_longconn_service, daemon=True)
|
||||||
|
feishu_thread.start()
|
||||||
|
|
||||||
|
# 等待飞书服务初始化
|
||||||
|
import time
|
||||||
|
time.sleep(2)
|
||||||
|
|
||||||
# 启动Flask应用
|
# 启动Flask应用
|
||||||
app.run(
|
app.run(
|
||||||
debug=config.server.debug,
|
debug=config.server.debug,
|
||||||
|
|||||||
Reference in New Issue
Block a user