title: 'Progress', dataIndex: 'progress', key: 'progress', render: (progress: number, record: DownloadTask) => ( <Progress percent=progress size="small" status=record.status === 'failed' ? 'exception' : 'active' /> ) ,
const newTask: DownloadTask = task_id, status, progress: 0, message ;
catch (error) console.error('Failed to poll task status:', error);
title: 'Status', dataIndex: 'status', key: 'status', render: (status: string) => ,
celery_app = Celery( 'vmdk_tasks', broker='redis://localhost:6379/0', backend='redis://localhost:6379/0' )
title: 'VMDK File', dataIndex: 'vmdk_filename', key: 'vmdk_filename', render: (text: string) => <strong>text</strong> ,
class DownloadTaskResponse(BaseModel): task_id: str status: str message: str
if task.state != 'SUCCESS': raise HTTPException(status_code=404, detail="File not ready for download")









