查看健康状态
页面标题旁的状态表示计算任务是否需要处理:
状态需要关注时,页面会显示具体原因。
在队列中定位任务
BullMQ 实时队列 会列出当前保留的任务,可以用它跟踪某个计算任务,或者找出耗时偏长的任务。 列表默认一个任务一行,Teable 重试时该行会原地切换状态。需要查看某个任务的完整尝试记录,或排查慢任务时,切换到 投递明细,可以看到每一次唤醒投递。 缩小范围的方式:- 点击表格上方的状态卡片(等待中、执行中、延迟任务、失败、已完成(保留) 等)按状态筛选,可以多选;悬停卡片会说明该状态的含义。
- 按 Space、Base、触发原因、执行结果 筛选,搜索任务、Base、Space 或错误,也可以设置最短处理耗时来找出慢任务。
- 点击某一行会打开 计算血缘:入队和投递时间、投递延迟、处理耗时;失败的投递还会给出完整失败原因和脱敏后的 SQL,以及下文介绍的传播信息。
已完成 不代表任务真的做了事情。执行结果徽章说明这次投递的实际结果:已执行 表示执行了计算任务,无操作 表示已无事可做,已推迟 表示改到稍后重试,已挂起 表示所在范围被暂停。执行结果 筛选器可以按这些结果筛选,并显示每种结果各有多少条;把 已完成(保留) 和 已执行 一起选上,剩下的就是真正执行过计算任务的投递。
追踪计算值的传播过程
当某个计算值不对,或者更新得太慢时,可以打开 计算血缘 查看它背后的整条链路:点击队列中的任意一行,或在异常任务详情中点击任务 ID 旁边的 血缘追踪。血缘账本只记录功能上线之后产生的任务,并保留 7 天。更早的任务只能看到队列信息,没有传播图。worker 还未生成计算计划的 seed 任务只会显示触发字段。如果这次变更本来就没有下游计算需要写入,图中会直接说明:没有公式、查找、汇总或链接标题依赖这些字段。
处理异常任务
失败 与 异常任务维护 显示的是不同类型的问题,因此数量可能不一致。
恢复完成后,Teable 会给出恢复条数、新入队与已在队列的条数,以及已投递和延迟投递的条数。随后 Worker 会按现有的并发和任务分片限制逐步消费这一组任务。
标记为 Base 已删除 的问题组,对应的 Base 已经不存在,恢复后会立即再次失败,因此只提供 丢弃问题组。
把表移入回收站不会再产生异常任务。计算任务遇到已在回收站的表时,会跳过读取这张表的步骤,照常完成指向其他表的步骤,然后结束任务。
由数据本身导致的失败同样不提供恢复,例如值超出体积上限或违反字段约束。重放同一个任务只会再次失败,应该直接丢弃该问题组,转而修改源数据或字段定义;后续写入会自动重新计算这些字段。
暂停某个空间的计算任务
当某个空间的计算任务正在加剧故障时,可以在 计算任务暂停 中单独暂停这个空间,而不必停掉整个实例。1
打开暂停弹窗
点击 暂停空间。
2
找到目标空间
按 Space ID 或名称搜索,然后在结果中选中。
3
选择暂停时长
在 暂停时长 中选择 15、30、60 或 120 分钟。
4
填写原因(可选)
在 原因 中写明事故或维护窗口。
5
确认
点击 确认暂停。
调整并发
队列区域有两个并发控件。两者都写入集群级覆盖值,所有进程约 15 秒内生效,无需重启,也都可以恢复默认,让各进程回到自身环境变量的设置。覆盖生效时,控件上会显示 已覆盖 标记。
单个 Base 成为瓶颈时,调大 claim 上限;多个 Base 同时排队时,调大每进程并发。

