MCPcopy Create free account
hub / github.com/Tron521/codex-console-temp / restoreActiveTask

Function restoreActiveTask

static/js/app.js:2613–2698  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

2611
2612// 页面加载时恢复进行中的任务(处理跨页面导航后回到注册页的情况)
2613async function restoreActiveTask() {
2614 const saved = sessionStorage.getItem('activeTask');
2615 if (!saved) return;
2616
2617 let state;
2618 try {
2619 state = JSON.parse(saved);
2620 } catch {
2621 sessionStorage.removeItem('activeTask');
2622 return;
2623 }
2624
2625 const { mode, task_uuid, batch_id, total } = state;
2626
2627 if (mode === 'single' && task_uuid) {
2628 // 查询任务是否仍在运行
2629 try {
2630 const data = await api.get(`/registration/tasks/${task_uuid}`);
2631 if (['completed', 'failed', 'cancelled'].includes(data.status)) {
2632 sessionStorage.removeItem('activeTask');
2633 return;
2634 }
2635 // 任务仍在运行,恢复状态
2636 currentTask = data;
2637 activeTaskUuid = task_uuid;
2638 taskCompleted = false;
2639 taskFinalStatus = null;
2640 toastShown = false;
2641 displayedLogs.clear();
2642 elements.startBtn.disabled = true;
2643 elements.cancelBtn.disabled = false;
2644 showTaskStatus(data);
2645 updateTaskStatus(data.status);
2646 addLog('info', `[系统] 检测到进行中的任务,正在重连监控... (${task_uuid.substring(0, 8)})`);
2647 connectWebSocket(task_uuid);
2648 } catch {
2649 sessionStorage.removeItem('activeTask');
2650 }
2651 } else if ((mode === 'batch' || mode === 'outlook_batch') && batch_id) {
2652 // 查询批量任务是否仍在运行
2653 const endpoint = mode === 'outlook_batch'
2654 ? `/registration/outlook-batch/${batch_id}`
2655 : `/registration/batch/${batch_id}`;
2656 try {
2657 const data = await api.get(endpoint);
2658 if (data.finished) {
2659 sessionStorage.removeItem('activeTask');
2660 return;
2661 }
2662 // 批量任务仍在运行,恢复状态
2663 currentBatch = { batch_id, ...data, pollingMode: mode };
2664 activeBatchId = batch_id;
2665 isOutlookBatchMode = (mode === 'outlook_batch');
2666 batchCompleted = false;
2667 batchFinalStatus = null;
2668 toastShown = false;
2669 displayedLogs.clear();
2670 elements.startBtn.disabled = true;

Callers 1

app.jsFile · 0.85

Calls 9

showTaskStatusFunction · 0.85
updateTaskStatusFunction · 0.85
addLogFunction · 0.85
connectWebSocketFunction · 0.85
showBatchStatusFunction · 0.85
updateBatchProgressFunction · 0.85
connectBatchWebSocketFunction · 0.85
getMethod · 0.45

Tested by

no test coverage detected