mirror of
https://github.com/stardrophere/InsightRadar.git
synced 2026-06-06 00:00:05 +08:00
login+ai cluster
This commit is contained in:
+15
-1
@@ -6,6 +6,7 @@ from dotenv import load_dotenv
|
||||
|
||||
from apscheduler.schedulers.asyncio import AsyncIOScheduler
|
||||
from app.services.fetcher_service import fetch_and_save_trending_data
|
||||
from app.services.summary_service import generate_unified_summaries
|
||||
from app.database import engine
|
||||
from app.models.models import Base
|
||||
|
||||
@@ -14,6 +15,7 @@ from app.api.router import api_router
|
||||
|
||||
load_dotenv()
|
||||
CRAWL_INTERVAL = int(os.getenv("CRAWL_INTERVAL_MINUTES", 10))
|
||||
SUMMARY_INTERVAL = int(os.getenv("SUMMARY_INTERVAL_MINUTES", 30))
|
||||
|
||||
scheduler = AsyncIOScheduler()
|
||||
|
||||
@@ -36,15 +38,27 @@ async def lifespan(app: FastAPI):
|
||||
id='trending_fetch_job',
|
||||
replace_existing=True
|
||||
)
|
||||
|
||||
# 平台摘要
|
||||
scheduler.add_job(
|
||||
generate_unified_summaries,
|
||||
'interval',
|
||||
minutes=SUMMARY_INTERVAL,
|
||||
id='ai_summary_job',
|
||||
replace_existing=True
|
||||
)
|
||||
scheduler.start()
|
||||
print(f"定时抓取任务已启动,每 {CRAWL_INTERVAL} 分钟执行一次")
|
||||
print(f"AI 摘要生成任务已启动,每 {SUMMARY_INTERVAL} 分钟执行一次")
|
||||
|
||||
# 为了测试方便,启动时立即执行一次
|
||||
await fetch_and_save_trending_data()
|
||||
|
||||
await generate_unified_summaries()
|
||||
|
||||
yield # 此时 FastAPI 开始接受请求
|
||||
|
||||
# 3. 优雅关闭
|
||||
# 优雅关闭
|
||||
scheduler.shutdown()
|
||||
print("定时任务已安全关闭")
|
||||
|
||||
|
||||
Reference in New Issue
Block a user