# 限制与错误 (/docs/cloud/services/automation/limits-and-errors)



以下默认值约束单次运行及其子运行；调用方设置的更短 deadline 也约束后续执行。并发超限时排队，不会增加执行容量。

## 执行与数据 [#执行与数据]

| 限制                       | 数值                       |
| ------------------------ | ------------------------ |
| 嵌套深度                     | 10                       |
| 每运行子运行总数 / 同时活跃子运行       | 100 / 20                 |
| 运行树总节点                   | 1,000                    |
| 每 owner / 每定义并发运行        | 100 / 20                 |
| 动作 / 沙箱动作超时              | 30 s / 10 min            |
| 脚本墙钟超时                   | 5 min                    |
| 工作流默认 / 最大超时             | 24 h / 7 days            |
| 创建运行 wait 上限             | 60 s                     |
| 载荷软阈值 / 硬上限              | 256 KiB / 1 MiB          |
| 调用载荷内联阈值 / 检查点内联阈值       | 32 KiB / 256 KiB         |
| 每运行任务执行数（含循环与重试）         | 4,000                    |
| 每运行持久执行步骤预算              | 9,000                    |
| 每 fork 分支 / 嵌套并发效果       | 10 / 25                  |
| 幂等保留时间                   | 24 h                     |
| 运行日志保留期                  | 30 days                  |
| 每页记录数                    | 100                      |
| 标签数量 / key 长度 / value 长度 | 50 / 40 / 500 characters |
| 描述长度                     | 1,000 characters         |
| SSE 心跳间隔                 | 20 s                     |

{/* Sources: services/automation/src/api/contract.ts:42-70; services/automation/src/runs/workflow/primitives.ts:7-12. */}

载荷软阈值不是拒绝边界；硬上限为 1 MiB，按 JSON 编码后的 UTF-8 字节计算。内联阈值决定数据的存储方式，不代表脚本可以返回超过硬上限的结果。

## 脚本运行时 [#脚本运行时]

| 限制          | 数值                         |
| ----------- | -------------------------- |
| CPU 时间      | 最多 30 秒，并取剩余 deadline 中较小者 |
| 每脚本连接器请求    | 1,000 次，包含日志和进度            |
| 同时执行的连接器操作  | 20                         |
| 单条日志        | 4,096 UTF-8 字节，超出截断        |
| 调用摘要        | 512 字符                     |
| 脚本错误 detail | 1,000 字符                   |
| 保留的用户堆栈帧    | 最多 5 条                     |

{/* Sources: services/automation/src/script-runtime/core.ts:8-91; index.ts CPU limit; connectors.ts Gate(20). */}

脚本输出必须可序列化为 JSON，编码失败会使运行失败。脚本没有检查点或事务回滚；具体报错原文与修法见[编写脚本](/docs/cloud/services/automation/guides/write-script)。

## 触发器 [#触发器]

| 限制              | 数值     |
| --------------- | ------ |
| 每 owner 启用中的触发器 | 100    |
| every 最短间隔      | 1 分钟   |
| cron 精度         | 五段，分钟  |
| 一次性 at 时间范围     | 当前至一年后 |
| 默认补跑窗口          | 300 秒  |
| 预览未来时间          | 最多 5 个 |
| 连续触发失败后自动暂停     | 5 次    |
| webhook 请求体     | 1 MiB  |
| webhook-id 去重   | 24 小时  |
| 触发记录保留期         | 30 天   |

{/* Sources: services/automation/TRIGGERS.md sections 2-3; services/automation/src/triggers/core.ts; webhook.ts:4. */}

## 找到对应错误 [#找到对应错误]

HTTP 错误表示请求被拒绝；运行状态 `faulted` 表示执行失败，即使读取它的 HTTP 响应为 200。排查时保存运行 ID 与响应头 `X-Request-Id`。

* [创建运行错误表](/docs/api/native/automation/createRun)：输入、目标解析、幂等与配额。
* [发布错误表](/docs/api/native/automation/publishScriptVersion)：草稿已变、版本冲突与定义校验。
* [触发器错误表](/docs/api/native/automation/createTrigger)与[调度错误表](/docs/api/native/automation/previewTriggerSchedule)。
* [Webhook 错误表](/docs/api/native/automation/receiveWebhook)：请求体大小、输入与不可用 URL。
* [鉴权与通用错误](/docs/api/errors)。

例如 `INTERVAL_TOO_SHORT` 的报错原文为 `every must be at least one minute`，把间隔改为 `PT1M` 或更长；不要原样重试无效调度。

[API 参考 →](/docs/api/native/automation) · [Cookbook →](/docs/cookbook)
