Template
Fix expired ingest task stuck state
This commit is contained in:
@@ -532,8 +532,9 @@ function handleProgressMessage(msg: ProgressMessage) {
|
||||
Object.assign(progress, msg);
|
||||
recordActivity(msg);
|
||||
|
||||
submitting.value = !msg.completed && (submitting.value || !!msg.taskId);
|
||||
if (msg.completed) {
|
||||
if (typeof msg.running === 'boolean') {
|
||||
submitting.value = msg.running;
|
||||
} else if (msg.completed) {
|
||||
submitting.value = false;
|
||||
}
|
||||
|
||||
@@ -558,6 +559,7 @@ function statusToProgress(resp: IngestStatusResponse): ProgressMessage {
|
||||
currentFile: '',
|
||||
message: resp.message,
|
||||
completed: resp.completed,
|
||||
running: resp.running,
|
||||
ingestedFiles: resp.ingestedFiles,
|
||||
duplicateFiles: resp.duplicateFiles,
|
||||
missingMetadataFiles: resp.missingMetadataFiles,
|
||||
@@ -575,8 +577,9 @@ function startPolling() {
|
||||
const resp = await getIngestStatus(taskId.value);
|
||||
if (resp) {
|
||||
handleProgressMessage(statusToProgress(resp));
|
||||
if (resp.completed) {
|
||||
if (resp.completed || !resp.running) {
|
||||
stopPolling();
|
||||
wsDisconnect();
|
||||
}
|
||||
}
|
||||
} catch {
|
||||
|
||||
@@ -12,6 +12,8 @@ export interface ProgressMessage {
|
||||
currentFile: string;
|
||||
message: string;
|
||||
completed: boolean;
|
||||
/** REST 状态查询提供;WebSocket 进度消息通常不包含此字段。 */
|
||||
running?: boolean;
|
||||
duplicateGroups?: number;
|
||||
movedFiles?: number;
|
||||
organizedFiles?: number;
|
||||
|
||||
Reference in New Issue
Block a user