front: recover watermark url from DONE tasks or resubmit when missing result
Made-with: Cursor
This commit is contained in:
@@ -152,11 +152,27 @@ export default function useRefResource() {
|
||||
if (result) {
|
||||
return result.watermarked_video_url || result.marked_url;
|
||||
}
|
||||
// DONE but task_result missing: query task details once to recover embedded url result.
|
||||
for (let i = doneTasks.length - 1; i >= 0; i--) {
|
||||
const doneTask = doneTasks[i];
|
||||
if (!doneTask.task_id) continue;
|
||||
const dbTask = await getTask(doneTask.task_id);
|
||||
if (!dbTask) continue;
|
||||
const recovered = get_task_result(dbTask);
|
||||
if (recovered) {
|
||||
doneTask.task_result = recovered as any;
|
||||
await request({url: "/api/v1/ws/update_ref_resource", method: "POST", data: resource});
|
||||
return (recovered as any).watermarked_video_url || (recovered as any).marked_url;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (tsTasks.every(t => t.task_status === TaskStatuses.FAILED)) {
|
||||
// retry
|
||||
task_submitted = false;
|
||||
} else if (tsTasks.every(t => isTaskFinished(t.task_status))) {
|
||||
// all finished but still no usable url -> allow re-submit watermark task
|
||||
task_submitted = false;
|
||||
} else {
|
||||
// read new status
|
||||
let task_id = tsTasks.find(t => !isTaskFinished(t.task_status))?.task_id as string | undefined;
|
||||
|
||||
Reference in New Issue
Block a user