From 7a4cbc066f76b8db2fd7a0671b1596f2e95d1e1f Mon Sep 17 00:00:00 2001 From: Broque Thomas <26755000+Nezreka@users.noreply.github.com> Date: Mon, 2 Mar 2026 12:50:20 -0800 Subject: [PATCH] Fix infinite monitor loop on post-processing completed tasks --- web_server.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/web_server.py b/web_server.py index 40627b96..fcafc937 100644 --- a/web_server.py +++ b/web_server.py @@ -14843,6 +14843,9 @@ def _on_download_completed(batch_id, task_id, success=True): completed_tasks = download_batches[batch_id].setdefault('_completed_task_ids', set()) if task_id in completed_tasks: print(f"⚠️ [Batch Manager] Task {task_id} already completed — skipping duplicate _on_download_completed call") + # Set terminal status so the monitor loop stops re-processing this task + if task_id in download_tasks and download_tasks[task_id].get('status') in ('downloading', 'queued'): + download_tasks[task_id]['status'] = 'completed' return completed_tasks.add(task_id)