Show clear GPU status and move upscale progress into the queue
This commit is contained in:
@@ -6,4 +6,4 @@ export default defineEventHandler(event => { const { owner } = assertLibraryOwne
|
||||
}
|
||||
catch {
|
||||
return false;
|
||||
} }).map(r => { const q = rows.find(q => q.id === r.queueId); return { ...r, state: q?.status === 'cancelled' ? 'cancelled' : q?.status === 'error' ? 'failed' : r.state, error: r.error || q?.lastError }; }); });
|
||||
} }).map(r => { const q = rows.find(q => q.id === r.queueId); return { ...r, state: q?.status === 'complete' ? 'complete' : q?.status === 'cancelled' ? 'cancelled' : q?.status === 'error' ? 'failed' : r.state, error: r.error || q?.lastError }; }); });
|
||||
|
||||
@@ -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