feat(tasks): record trigger mode, target date and force in task history

This commit is contained in:
Misaka
2026-08-02 14:14:30 +08:00
parent 3c32720985
commit c1bd53d832
2 changed files with 70 additions and 16 deletions

View File

@@ -128,7 +128,10 @@ def _enqueue_fetch(site, kind):
if not _in_active_window(cfg["active_start"], cfg["active_end"]):
return # 不在激活时段,跳过本次 fire
try:
tid = state_store.create_task_if_idle(site, kind)
target_date = state_store.resolve_target_date(site, kind)
tid = state_store.create_task_if_idle(
site, kind, trigger="auto", target_date=target_date
)
if tid is None:
return # 上一次同类任务还没跑完,跳过避免堆积
task_queue.put((tid, {"site": site, "kind": kind}))
@@ -225,7 +228,13 @@ def create_task(req: TaskRequest):
raise HTTPException(
status_code=400, detail="百世固定下载当天,不支持指定日期"
)
task_id = state_store.create_task(req.site, req.kind)
task_id = state_store.create_task(
req.site,
req.kind,
trigger="manual",
target_date=state_store.resolve_target_date(req.site, req.kind, req.date),
force=req.force,
)
spec = {"site": req.site, "kind": req.kind, "force": req.force}
if req.date:
spec["date"] = req.date