fix: 手动执行不再受运行窗口限制(窗口只约束定时触发)——立即执行按钮在窗口外也可触发任务

This commit is contained in:
2026-08-20 08:36:29 +08:00
parent 0fab6f4de8
commit 27530ff5ac
3 changed files with 3 additions and 7 deletions
+1 -5
View File
@@ -587,14 +587,10 @@ class TaskManager:
return _next_run_time(job.schedule)
def run_job_now(self, job_id):
"""立即执行任务(手动触发)。运行窗口外拒绝启动。"""
"""立即执行任务(手动触发)。运行窗口只约束定时触发,手动执行不受限制。"""
job = self.jobs.get(job_id)
if not job:
return {"ok": False, "error": "任务不存在"}
if not _in_run_window(job.schedule):
win = job.schedule.get("window") or {}
return {"ok": False,
"error": f"当前不在运行窗口内({win.get('start', '')}-{win.get('end', '')}),任务未启动"}
# 在独立线程跑,不阻塞调用方
t = threading.Thread(target=self._run_job, args=(job,), daemon=True)
t.start()