Files
video-gen/video-gen-api/app/tasks/generation_recovery_tasks.py
T

47 lines
1.4 KiB
Python

# app/tasks/generation_recovery_tasks.py
from __future__ import annotations
from typing import Any, Dict
from app.models.base import async_session
from app.tasks.async_runner import run_async
from app.tasks.celery_app import celery_app
async def _run_download_once() -> Dict[str, Any]:
from app.services.generation_recovery_service import recover_download_tasks_once
async with async_session() as db:
return await recover_download_tasks_once(db)
async def _run_generation_once() -> Dict[str, Any]:
from app.services.generation_recovery_service import recover_generation_tasks_once
async with async_session() as db:
return await recover_generation_tasks_once(db)
if celery_app:
@celery_app.task(name="generation.recover_download_tasks_once")
def recover_download_tasks_once() -> Dict[str, Any]:
return run_async(_run_download_once())
@celery_app.task(name="generation.recover_generation_tasks_once")
def recover_generation_tasks_once() -> Dict[str, Any]:
return run_async(_run_generation_once())
else:
class _DisabledTask:
def delay(self, *args: Any, **kwargs: Any) -> None:
raise RuntimeError("Celery is disabled")
def apply_async(self, *args: Any, **kwargs: Any) -> None:
raise RuntimeError("Celery is disabled")
recover_download_tasks_once = _DisabledTask()
recover_generation_tasks_once = _DisabledTask()