新增定时调度任务

This commit is contained in:
2025-11-08 01:24:50 +08:00
parent 9899387697
commit b5fe23342d
4 changed files with 358 additions and 11 deletions

View File

@@ -4,6 +4,7 @@ from fastapi.responses import JSONResponse
from contextlib import asynccontextmanager
from ..CoreModules.middleware import ConcurrencyLimitMiddleware
from ..CoreModules.plugin_interface import ImportPlugins
from ..CoreModules.clock_scheduler import get_clock_scheduler
from ..CoreRouters import callback, health
from ..Convention.Runtime.GlobalConfig import *
from ..Convention.Runtime.Architecture import Architecture
@@ -16,6 +17,8 @@ APP_CONFIG = {
@asynccontextmanager
async def lifespan(app: FastAPI):
"""应用生命周期管理"""
scheduler = get_clock_scheduler()
await scheduler.start()
# 启动
logger.Log("Info", "应用启动中...")
@@ -25,17 +28,17 @@ async def lifespan(app: FastAPI):
# 启动后台清理
logger.Log("Info", "启动后台清理...")
yield
# 关闭
try:
logger.Log("Info", "关闭应用...")
# await cleanup_task
except asyncio.CancelledError:
pass
yield
finally:
logger.Log("Info", "关闭应用完成...")
# db.close()
# 关闭
try:
logger.Log("Info", "关闭应用...")
await scheduler.stop()
except asyncio.CancelledError:
pass
finally:
logger.Log("Info", "关闭应用完成...")
def generate_app(kwargs: dict) -> FastAPI:
'''