feat: 异步沉淀主题摘要和成长档案
This commit is contained in:
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user