MCPcopy Create free account
hub / github.com/OpenRaiser/PaperFlow / handleDailyTask

Function handleDailyTask

deployments/desktop/static/app.js:921–972  ·  view source on GitHub ↗
(task, options = {})

Source from the content-addressed store, hash-verified

919}
920
921async function handleDailyTask(task, options = {}) {
922 if (!task) {
923 setDailyButtonBusy(false);
924 return;
925 }
926
927 const previousStatus = state.dailyTaskStatus;
928 state.dailyTaskId = task.task_id || state.dailyTaskId;
929 state.dailyTaskStatus = task.status || "";
930
931 if (task.status === "queued" || task.status === "running") {
932 setDailyButtonBusy(true);
933 if (task.preview_push && task.preview_push.papers && task.preview_push.papers.length) {
934 renderPush(task.preview_push, { preserveSelection: true });
935 }
936 if (!options.fromPoll || previousStatus !== task.status) {
937 const previewCount = task.preview_push?.papers?.length || 0;
938 const progressText = previewCount ? `每日推送运行中,已展示 ${previewCount} 篇` : "每日推送运行中";
939 setStatus(task.status === "queued" ? "每日推送排队中" : progressText, true);
940 } else {
941 const previewCount = task.preview_push?.papers?.length || 0;
942 $("statusText").textContent = previewCount ? `每日推送运行中,已展示 ${previewCount} 篇...` : "每日推送运行中...";
943 }
944 scheduleDailyTaskPolling();
945 return;
946 }
947
948 stopDailyTaskPolling();
949 setDailyButtonBusy(false);
950
951 if (task.status === "completed") {
952 if (task.push) renderPush(task.push);
953 const count = task.push?.papers?.length || 0;
954 state.dailyTaskId = "";
955 state.dailyTaskStatus = "";
956 await Promise.allSettled([refreshDashboard(), refreshWikiStats()]);
957 if (!options.silent) {
958 setStatus(count ? "每日推送完成" : "每日推送完成,但本轮没有通过筛选的论文");
959 }
960 return;
961 }
962
963 if (task.status === "failed") {
964 state.dailyTaskId = "";
965 state.dailyTaskStatus = "";
966 if (!options.silent) {
967 const message = task.error || "每日推送失败";
968 setStatus(message);
969 window.alert(`每日推送失败:\n${message}`);
970 }
971 }
972}
973
974async function refreshDailyTaskStatus(options = {}) {
975 const userId = activeUser();

Callers 2

refreshDailyTaskStatusFunction · 0.85
runDailyFunction · 0.85

Calls 8

setDailyButtonBusyFunction · 0.85
scheduleDailyTaskPollingFunction · 0.85
stopDailyTaskPollingFunction · 0.85
refreshDashboardFunction · 0.85
refreshWikiStatsFunction · 0.85
renderPushFunction · 0.70
setStatusFunction · 0.70
$Function · 0.70

Tested by

no test coverage detected