Question
Closed · Answered

定时任务上一轮还没跑完,下一轮到点了会怎样?

QiangDiao Li

想让 Agent 每隔一段时间检查几个网站,把更新整理到一份表格里。

有个地方没想明白:如果某次网站比较慢,任务一直没结束,下一次排期又到了,Buda 会跳过、排队,还是再启动一次?

比较担心两轮同时往同一张表里写东西。这种任务有没有推荐的设置方式?

Report
Kelly
Team

这取决于定时任务设置的会话模式。选“每次新会话”时,每个到点的周期会新建任务;上一轮还在运行也可能出现两轮并行。选“复用固定会话”时,如果固定会话仍在运行,新一轮会排队,等前一轮结束后再处理;如果它正等待人工输入,自动触发的这一轮会记为跳过,不会悄悄再开启一个并行任务。手动点“立即运行”而固定会话仍忙时,会提示上一轮未完成。

你的场景要避免两轮同时写同一张表,我会选复用固定会话,并把间隔设得长于常见网站抓取耗时;再在写表前按“网站 + 页面 URL + 发现日期/版本”去重,重复运行只更新同一条候选,而不是一轮就新增一遍。排队只避免同一个固定会话的并发,不能替你解决重试、外部网站重复内容或其他 Agent 也写这张表的问题。定期检查运行历史中的进行中、跳过和失败记录,避免任务越积越多。

你们要求每次整点都必须跑,还是宁可跳过迟到的一轮,也不要处理过时结果?这会影响时间间隔和补跑规则。英文同题讨论也说明了这两个模式。

Report

Your reply

Sign in to join the discussion. Reading is always open; you only need an account to post.

Sign in