from contextlib import asynccontextmanager
from datetime import datetime
from apscheduler.schedulers.asyncio import AsyncIOScheduler
from apscheduler.triggers.interval import IntervalTrigger
from fastapi import FastAPI
from logger import logger
@asynccontextmanager
async def lifespan(app: FastAPI):
scheduler = AsyncIOScheduler()
scheduler.add_job(
feedback_task,
trigger=IntervalTrigger(minutes=1),
id="feedback_task",
replace_existing=True
)
scheduler.start()
logger.info("APScheduler定时器已启动")
yield
scheduler.shutdown()
logger.info("APScheduler定时器已关闭")
async def feedback_task():
logger.info(f"feedback_task start : {datetime.now()}")