feat: 异步沉淀主题摘要和成长档案

This commit is contained in:
2026-08-03 11:35:58 +08:00
parent a3946013f5
commit d2e08ab36c
24 changed files with 825 additions and 58 deletions

View File

@@ -1,5 +1,6 @@
from __future__ import annotations
import asyncio
from contextlib import asynccontextmanager
from fastapi import FastAPI
@@ -13,7 +14,7 @@ from app.core.observability import RequestObservabilityMiddleware, configure_log
from app.services.secret_service import SecretService
from app.services.maintenance_service import MaintenanceService
from app.services.periodic_report_worker import PeriodicReportWorker
import asyncio
from app.services.topic_settlement_worker import TopicSettlementWorker
@asynccontextmanager
@@ -24,12 +25,13 @@ async def lifespan(app: FastAPI):
create_tables()
maintenance_task = asyncio.create_task(MaintenanceService.run_forever())
periodic_report_task = asyncio.create_task(PeriodicReportWorker.run_forever())
topic_settlement_task = asyncio.create_task(TopicSettlementWorker.run_forever())
try:
yield
finally:
for task in (maintenance_task, periodic_report_task):
for task in (maintenance_task, periodic_report_task, topic_settlement_task):
task.cancel()
for task in (maintenance_task, periodic_report_task):
for task in (maintenance_task, periodic_report_task, topic_settlement_task):
try:
await task
except asyncio.CancelledError: