Show clear GPU status and move upscale progress into the queue
This commit is contained in:
@@ -0,0 +1,18 @@
|
||||
import {upscaleRecords} from '../../utils/videoUpscale';
|
||||
import {listStudioJobs} from '../../utils/studioQueue';
|
||||
import {getClip} from '../../utils/library';
|
||||
export default defineEventHandler(event=>{
|
||||
const {owner}=assertLibraryOwner(event),records=upscaleRecords(owner);
|
||||
const rows=listStudioJobs(owner).filter(j=>j.payload.upscale);
|
||||
const ids=new Set([...rows.map(r=>r.id),...records.map(r=>r.id)]);
|
||||
return [...ids].flatMap(id=>{
|
||||
const row=rows.find(r=>r.id===id),record=records.find(r=>r.id===id);
|
||||
try {
|
||||
const clip=getClip(owner,row?.payload.upscale?.sourceId || record?.sourceId);
|
||||
assertFolderAccess(event,clip.folderId);
|
||||
const state=['waiting','held','running'].includes(row?.status || '')?row!.status:record?.status || row?.status;
|
||||
return [{id,folderId:clip.folderId,name:clip.name || 'Video',status:({waiting:'queued',held:'queued',complete:'done',error:'failed',cancelled:'failed'} as any)[state || ''] || state,
|
||||
progress:record?.progress || 0,width:record?.width,height:record?.height,elapsedMs:record?.elapsedMs || (record?.createdAt?Date.now()-record.createdAt:0),message:record?.message || row?.waitReason,error:record?.error || row?.lastError,outputClipId:record?.outputClipId}];
|
||||
}catch{return [];}
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user