From b9291f9011923c68242ac8bdcb6f4d1a60bf796b Mon Sep 17 00:00:00 2001 From: meijiali <你的邮箱@xxx.com> Date: Fri, 3 Jul 2026 12:35:35 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=A2=9E=E5=8A=A0=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E8=AF=A6=E6=83=85=E8=87=AA=E5=8A=A8=E5=88=B7=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/static/app.js | 20 ++++++++++++++++++++ app/templates/tasks/detail.html | 5 +++-- tests/integration/test_routes.py | 27 ++++++++++++++++++++++++++- 3 files changed, 49 insertions(+), 3 deletions(-) diff --git a/app/static/app.js b/app/static/app.js index e515c97..97f6824 100644 --- a/app/static/app.js +++ b/app/static/app.js @@ -71,6 +71,26 @@ document.addEventListener("DOMContentLoaded", () => { updateScaleHint(); }); +function pollTaskDetailStatus(taskId) { + if (!taskId) return; + const intervalMs = 3000; + const poll = async () => { + try { + const resp = await fetch(`/api/tasks/${taskId}`, { cache: "no-store" }); + if (!resp.ok) return; + const task = await resp.json(); + if (task.status !== "running") { + window.location.reload(); + return; + } + } catch (_error) { + return; + } + window.setTimeout(poll, intervalMs); + }; + window.setTimeout(poll, intervalMs); +} + async function downloadExport(url, defaultFilename, event) { if (event) event.preventDefault(); const resp = await fetch(url); diff --git a/app/templates/tasks/detail.html b/app/templates/tasks/detail.html index 32f2e9a..65ea078 100644 --- a/app/templates/tasks/detail.html +++ b/app/templates/tasks/detail.html @@ -9,9 +9,9 @@ {% block content %}
平台:{{ task.platform | platform_label }} {{ label }}
成功 {{ task.successful_items_count }} / 共 {{ task.total_items_count }} 条内容
@@ -19,6 +19,7 @@正在抓取热点数据,请稍候...