refactor(task): move schedulers and startup/shutdown task into tasks directory
This commit is contained in:
28
main.py
28
main.py
@@ -24,18 +24,21 @@ from app.router import (
|
||||
)
|
||||
from app.router.redirect import redirect_router
|
||||
from app.router.v1 import api_v1_public_router
|
||||
from app.scheduler.cache_scheduler import start_cache_scheduler, stop_cache_scheduler
|
||||
from app.service.beatmap_download_service import download_service
|
||||
from app.service.beatmapset_update_service import init_beatmapset_update_service
|
||||
from app.service.calculate_all_user_rank import calculate_user_rank
|
||||
from app.service.create_banchobot import create_banchobot
|
||||
from app.service.daily_challenge import daily_challenge_job, process_daily_challenge_top
|
||||
from app.service.email_queue import start_email_processor, stop_email_processor
|
||||
from app.service.geoip_scheduler import schedule_geoip_updates
|
||||
from app.service.init_geoip import init_geoip
|
||||
from app.service.load_achievements import load_achievements
|
||||
from app.service.osu_rx_statistics import create_rx_statistics
|
||||
from app.service.redis_message_system import redis_message_system
|
||||
from app.tasks import (
|
||||
calculate_user_rank,
|
||||
create_banchobot,
|
||||
create_rx_statistics,
|
||||
daily_challenge_job,
|
||||
init_geoip,
|
||||
load_achievements,
|
||||
process_daily_challenge_top,
|
||||
start_cache_tasks,
|
||||
stop_cache_tasks,
|
||||
)
|
||||
from app.utils import bg_tasks, utcnow
|
||||
|
||||
from fastapi import FastAPI, HTTPException, Request
|
||||
@@ -56,17 +59,16 @@ async def lifespan(app: FastAPI):
|
||||
await init_geoip() # 初始化 GeoIP 数据库
|
||||
await create_rx_statistics()
|
||||
await calculate_user_rank(True)
|
||||
start_scheduler()
|
||||
schedule_geoip_updates() # 调度 GeoIP 定时更新任务
|
||||
await daily_challenge_job()
|
||||
await process_daily_challenge_top()
|
||||
await create_banchobot()
|
||||
await start_email_processor() # 启动邮件队列处理器
|
||||
await download_service.start_health_check() # 启动下载服务健康检查
|
||||
await start_cache_scheduler() # 启动缓存调度器
|
||||
await start_cache_tasks() # 启动缓存调度器
|
||||
init_beatmapset_update_service(fetcher) # 初始化谱面集更新服务
|
||||
redis_message_system.start() # 启动 Redis 消息系统
|
||||
load_achievements()
|
||||
start_scheduler()
|
||||
|
||||
# 显示资源代理状态
|
||||
if settings.enable_asset_proxy:
|
||||
@@ -75,9 +77,9 @@ async def lifespan(app: FastAPI):
|
||||
# on shutdown
|
||||
yield
|
||||
bg_tasks.stop()
|
||||
stop_scheduler()
|
||||
redis_message_system.stop() # 停止 Redis 消息系统
|
||||
await stop_cache_scheduler() # 停止缓存调度器
|
||||
await stop_cache_tasks() # 停止缓存调度器
|
||||
stop_scheduler()
|
||||
await download_service.stop_health_check() # 停止下载服务健康检查
|
||||
await stop_email_processor() # 停止邮件队列处理器
|
||||
await engine.dispose()
|
||||
|
||||
Reference in New Issue
Block a user