Last commit not found
from fastapi import APIRouter, HTTPException, status, BackgroundTasks | |
from .Schema import EditorRequest, TaskInfo | |
from App.Worker import celery_task | |
from celery.result import AsyncResult | |
videditor_router = APIRouter(tags=["vidEditor"]) | |
async def create_video(videoRequest: EditorRequest, background_task: BackgroundTasks): | |
background_task.add_task(celery_task, videoRequest) | |
# result = celery_task.delay(videoRequest) | |
return {"task_id": "started"} | |
async def progress(task_id: str): | |
task_result = AsyncResult( | |
task_id, | |
) | |
if not task_result.ready(): | |
progress = task_result.info.get("progress", 0) | |
completed_tasks = task_result.info.get("completed_tasks", []) | |
return { | |
"task_id": task_id, | |
"progress": progress, | |
"completed_tasks": completed_tasks, | |
} | |
else: | |
raise HTTPException( | |
status_code=status.HTTP_404_NOT_FOUND, | |
detail="Task not found", | |
) | |