feat(tasks): T55-T58 implement background tasks for OpenRouter sync
- T55: Setup APScheduler with AsyncIOScheduler and @scheduled_job decorator - T56: Implement hourly usage stats sync from OpenRouter API - T57: Implement daily API key validation job - T58: Implement weekly cleanup job for old usage stats - Add usage_stats_retention_days config option - Integrate scheduler with FastAPI lifespan events - Add 26 unit tests for scheduler, sync, and cleanup tasks - Add apscheduler to requirements.txt The background tasks now automatically: - Sync usage stats every hour from OpenRouter - Validate API keys daily at 2 AM UTC - Clean up old data weekly on Sunday at 3 AM UTC
This commit is contained in:
@@ -56,6 +56,10 @@ class Settings(BaseSettings):
|
||||
default=60,
|
||||
description="Background sync interval in minutes"
|
||||
)
|
||||
usage_stats_retention_days: int = Field(
|
||||
default=365,
|
||||
description="Retention period for usage stats in days"
|
||||
)
|
||||
|
||||
# Limits
|
||||
max_api_keys_per_user: int = Field(
|
||||
|
||||
Reference in New Issue
Block a user