feat(sync): add configuration to control syncing & support sync immediately by API

This commit is contained in:
MingxuanGame
2025-10-05 03:44:46 +00:00
parent 8884f8993c
commit 1db34bf5c5
4 changed files with 140 additions and 98 deletions

View File

@@ -1,19 +1,19 @@
from datetime import datetime, timedelta
from app.config import settings
from app.dependencies.scheduler import get_scheduler
from app.service.beatmapset_update_service import get_beatmapset_update_service
from app.utils import bg_tasks
SCHEDULER_INTERVAL_MINUTES = 2
if settings.enable_auto_beatmap_sync:
@get_scheduler().scheduled_job(
"interval",
id="update_beatmaps",
minutes=SCHEDULER_INTERVAL_MINUTES,
next_run_time=datetime.now() + timedelta(minutes=1),
)
async def beatmapset_update_job():
service = get_beatmapset_update_service()
bg_tasks.add_task(service.add_missing_beatmapsets)
await service._update_beatmaps()
@get_scheduler().scheduled_job(
"interval",
id="update_beatmaps",
minutes=settings.beatmap_sync_interval_minutes,
next_run_time=datetime.now() + timedelta(minutes=1),
)
async def beatmapset_update_job():
service = get_beatmapset_update_service()
bg_tasks.add_task(service.add_missing_beatmapsets)
await service._update_beatmaps()