Files
OCR/docengine/app/tasks/maintenance_tasks.py
2026-06-01 21:49:53 +05:30

47 lines
1.6 KiB
Python

from __future__ import annotations
from app.core.logging_config import get_logger
from app.workers.celery_app import celery_app
from app.core.database import get_db_context
logger = get_logger(__name__)
@celery_app.task(
name="app.tasks.maintenance_tasks.cleanup_expired_tokens",
bind=True,
)
def cleanup_expired_tokens(self) -> dict: # noqa: ANN001
"""Cleanup expired and revoked refresh tokens."""
logger.info("cleanup_tokens_started", task_id=self.request.id)
try:
with get_db_context() as db:
from app.repositories.user_repository import RefreshTokenRepository
repo = RefreshTokenRepository(db)
count = repo.cleanup_expired_tokens()
logger.info("cleanup_tokens_completed", removed=count)
return {"removed_tokens": count}
except Exception as exc:
logger.exception("cleanup_tokens_failed", error=str(exc))
return {"error": str(exc)}
@celery_app.task(
name="app.tasks.maintenance_tasks.cleanup_temp_storage",
bind=True,
)
def cleanup_temp_storage(self) -> dict: # noqa: ANN001
"""Cleanup temporary storage files."""
logger.info("cleanup_temp_started", task_id=self.request.id)
try:
from app.storage.provider import get_storage_provider
storage = get_storage_provider()
count = storage.cleanup_temp()
logger.info("cleanup_temp_completed", removed=count)
return {"removed_files": count}
except Exception as exc:
logger.exception("cleanup_temp_failed", error=str(exc))
return {"error": str(exc)}