diff --git a/app/static/app.js b/app/static/app.js index 97f6824..1903e0e 100644 --- a/app/static/app.js +++ b/app/static/app.js @@ -91,6 +91,27 @@ function pollTaskDetailStatus(taskId) { window.setTimeout(poll, intervalMs); } +function pollTaskListStatus() { + const tableBody = document.querySelector("[data-task-list-auto-poll='true']"); + if (!tableBody) return; + + const intervalMs = 5000; + const poll = async () => { + try { + const resp = await fetch("/api/tasks", { cache: "no-store" }); + if (!resp.ok) return; + const tasks = await resp.json(); + const hasRunningTask = tasks.some((task) => task.status === "running"); + window.location.reload(); + if (!hasRunningTask) 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/index.html b/app/templates/index.html index ac5485e..488e3ab 100644 --- a/app/templates/index.html +++ b/app/templates/index.html @@ -1,4 +1,5 @@ {% extends "base.html" %} +{% set has_running_tasks = tasks | selectattr("status", "equalto", "running") | list | length > 0 %} {% block title %}任务列表 - 热榜评论分析工具{% endblock %} {% block content %}
{{ task.id }}平台:{{ task.platform | platform_label }} {{ label }}
-成功 {{ task.successful_items_count }} / 共 {{ task.total_items_count }} 条内容
+正在抓取热点数据,请稍候...