yj
2025-09-03 f28ac0166536a2a4b68cac685a41ea667f60f7e9
main.py
@@ -10,8 +10,12 @@
import time
from config import settings
from app.api.callback import router as callback_router
from app.api.friend_ignore import router as friend_ignore_router
from app.api.message_aggregation import router as message_aggregation_router
from app.models.database import create_tables
from app.workers.message_worker import message_worker
from app.services.contact_sync import contact_sync_service
from app.services.message_aggregator import message_aggregator
@asynccontextmanager
@@ -34,12 +38,33 @@
    except Exception as e:
        logger.error(f"消息工作进程启动失败: {str(e)}")
    # 同步联系人信息并建立好友忽略列表
    try:
        if settings.ecloud_w_id:
            logger.info("开始同步联系人信息...")
            success = contact_sync_service.sync_contacts_on_startup(settings.ecloud_w_id)
            if success:
                logger.info("联系人同步完成,好友忽略列表已建立")
            else:
                logger.warning("联系人同步失败")
        else:
            logger.warning("未配置ecloud_w_id,跳过联系人同步")
    except Exception as e:
        logger.error(f"联系人同步异常: {str(e)}")
    logger.info("应用启动完成")
    yield
    # 关闭时执行
    logger.info("正在关闭应用...")
    # 停止消息聚合服务
    try:
        message_aggregator.stop()
        logger.info("消息聚合服务已停止")
    except Exception as e:
        logger.error(f"消息聚合服务停止失败: {str(e)}")
    # 停止消息工作进程
    try:
@@ -70,6 +95,8 @@
# 注册路由
app.include_router(callback_router, prefix="/api/v1", tags=["回调接口"])
app.include_router(friend_ignore_router, prefix="/api/v1", tags=["好友忽略管理"])
app.include_router(message_aggregation_router, prefix="/api/v1/aggregation", tags=["消息聚合管理"])
@app.get("/")