Files
AgentLab/docs/zh-CN/schedules.md
T
ThearchyHelios 2714890d0d 文档重新梳理:README 精简成介绍和索引,细节按主题拆进 docs/zh-CN 与 docs/en(17 篇一一对应),英文文档不含中文
README.zh-CN.md / README.md 只留:这是什么、为什么用它、主要功能(按领域一行一条,链到文档)、快速开始、部署、文档索引、
开发与测试、许可(原文不动)。原来的每一节按读者和任务分到 17 篇主题文档:ask-data、workflows、evidence、
data-sources(新增:接入数据库、只读保证、上传表格、跨库合并、遮罩列)、data-catalog、tools(新增:工具、审批档位、
能力登记、端点、网络规则——它们管所有工作流,不只应用)、apps、evaluation-and-ledger、schedules(含通知)、deployment、
configuration、postgresql-and-scaling、identity-and-security、architecture、development、upgrade-notes(按时间倒序,
每波先写要做的事)、faq。删掉的只有模块名(api/copilot_gen.py、chat/drive.py、data/schema_view.py)、重复的话和
「以前…现在…」的叙述;操作步骤、命令、配置名、限制、权限边界都有归宿。中文是原文,英文按新的中文写;英文里界面文字
只写英文名,开头注明界面目前只有简体中文,中文占位符换成英文占位符,中文数字的例子改成不依赖中文的说法。
数据剖析可以同时剖析 2–3 张表(baf23998)收进 data-catalog。
新增 scripts/check-docs.py:英文文档(README.md、docs/en/**)不许有中日韩字符和全角符号(代码块也算),
README、docs/**、deploy/README.md 的相对链接和锚点都要通,docs/zh-CN 与 docs/en 文件一一对应、标题层级相同。
中文提示里指向 README 章节的地方改指新文档:cluster/guard.py、cluster/version.py、db/base.py 两处报错,
data/schema_view.py 文档串,.env.example 三处,scripts/prod.sh、scripts/test-postgres.sh,terms.ts 两处、
DataSourcesTab.tsx、check-manage.mjs 注释,deploy/README.md 三处链接。deploy/agentlab.env 未动。
验收:check-docs 0 问题(英文文档 18 个 0 处中文,相对链接 369 条 0 断链,18 对标题层级一致);相关后端测试
117 通过、7 跳过;tsc -b、check-copy 通过。
2026-10-21 10:23:26 +08:00

70 lines
3.4 KiB
Markdown

[English](../en/schedules.md) | 简体中文
# 定时任务、事件触发与通知
这篇讲怎么让工作流按时或按事件自动运行,以及结果和提醒怎么通知到人。给搭建者和管理员看。
## 定时任务
定时任务按时发起正式运行,运行的来源记为定时任务。
- 目标可以是工作流、数据源(即数据源的定时维护,见[数据目录](data-catalog.md#定时维护))或评测题集(即定时评测,见[回归评测](evaluation-and-ledger.md#定时评测))。
- 应用的视图优先绑定已有的定时任务;看板读定时任务最近一次封存的正式运行,印章写明「定时任务「…」第 n 次」。
- 运行被人工驳回时,定时任务推「未出具(被驳回)」。
- 以数据源和题集为目标的定时任务不收 Webhook(回 422),通知走「设置 → 通知」的渠道订阅。
- 在运行并发里,定时任务属于「定时」一类(见[运行并发](postgresql-and-scaling.md#运行并发))。
- 调度循环每一拍的间隔是 `AGENTLAB_SCHEDULER_TICK_S`,缺省 15 秒。
## 事件触发
定时任务可以选「事件触发」,在这些事件发生时运行:
- 上传表格出了新的一期;
- 上游工作流的正式运行成功结束;
- 数据源有「要处理」的变化。
规则:
- 事件在发生处记下,由调度循环去抖后发起;每一期各自去抖。
- 下游的输入模板用 `{{ event.* }}` 取事件内容。
- 保存时检查串联不成环;运行时最多串 5 层。
- 途经驳回的运行、应用补算出来的运行,缺省不触发下游;可以勾选让它们也触发。
- 跟着 `AGENTLAB_SCHEDULER` 开关:关着时,事件留着,不派发。
## 通知
### 渠道
通知发到渠道,渠道分全局渠道和个人渠道,在「设置 → 通知」里订阅。也可以投递 Webhook。
待办、通知、Webhook 里,驳回的去向照实写(「被驳回,转到 X」「这一路到此为止」)。
### 邮件
管理员在「设置 → 通知 → 邮件服务」配 SMTP,口令加密存。之后可以建邮件格式的渠道。
- 邮件只确认交给了邮件服务器,退信不追踪。
### 可订阅的事件
| 事件 | 发到哪里 | 说明 |
|---|---|---|
| 「实例结束」 | 订阅了的渠道 | 包括被人工驳回的运行 |
| 「定时评测有退步」 | 订阅了的渠道 | 只有题集名、通过数、退步题数和链接 |
| 「数据源有变化要处理」 | 全局渠道 | 只有源名、条数和链接,不放表名、列名和取值 |
| 「口径升版,答案的数变了」 | 全局渠道、答案主人的个人渠道 | 不放数字;同时推 `ledger.recall` |
| 每天的待办汇总 | 订阅了它的个人渠道 | 按 `notify.digest_at` 发,缺省 09:00(服务端时区) |
| 访问密钥到期提醒 | — | 到期前 7 天、1 天各一次 |
待办汇总和访问密钥提醒只在开了登录时发。
## 调度开关
`AGENTLAB_SCHEDULER` 关掉(设成 0)时:
- 不检查流程的时限:不提醒、不升级、不自动核实;
- 事件留着,不派发;
- 启动时对最近 7 天运行的口径补比不跑;口径召回在发布后的自动批次和启动时的接着做也不跑。
多进程部署时,定时认领、事件派发、Webhook 投递、流程的时限和核实、每天的汇总,都只在调度当班的那个进程里做(见[调度当班](postgresql-and-scaling.md#调度当班))。