技术限制
Activepieces Cloud 上的限制及自托管覆盖配置
**Cloud** 列中的数字是 [cloud.activepieces.com](https://cloud.activepieces.com) 上执行的限制。在**自托管**安装中,每个限制都可以通过表中显示的环境变量进行配置——**自托管默认值**列列出了变量未设置时应用的值。
执行
| 限制 | Cloud | 环境变量 | 自托管默认值 |
|---|
| 工作流运行超时 | 10 分钟 | AP_FLOW_TIMEOUT_SECONDS | 600 |
| Worker 进程内存 | 1 GB | AP_SANDBOX_MEMORY_LIMIT(KB) | 1048576 |
| 暂停工作流生命周期 | 30 天 | AP_PAUSED_FLOW_TIMEOUT_DAYS | 30 |
| Worker 并发数(每 Worker) | 10 | AP_WORKER_CONCURRENCY | 5 |
因**等待审批**或**延迟**而暂停的工作流**不计入**工作流运行超时——超时只计算活跃执行时间。
内存限制是针对运行工作流的整个 Node.js 进程进行测量的。其中约 300 MB 是加载了 Piece 组件的温进程开销。
要处理更长时间的流程,请将其拆分为多个工作流——例如,一个工作流通过 webhook 调用另一个工作流,或者每个工作流处理较小批量的项目。
文件与运行日志
动作或触发器产生的文件会持久化到数据库或 S3,以便工作流可以从后续步骤重试。日志大小限制适用于单次运行中所有步骤的输入和输出总和;超过切片阈值的步骤输出将被卸载到对象存储中,并在需要时重新加载,而不是驻留在 Worker 内存中。
| 限制 | Cloud | 环境变量 | 自托管默认值 |
|---|
| 步骤文件大小 | 10 MB | AP_MAX_FILE_SIZE_MB | 25 |
| 工作流运行日志大小(输入输出总和,含已切片载荷) | 25 MB | AP_MAX_FLOW_RUN_LOG_SIZE_MB | 50 |
| 步骤输出切片阈值 | 32 KB | AP_FLOW_RUN_LOG_SLICE_THRESHOLD_KB | 32 |
| 步骤输入截断阈值 | 2 KB | AP_FLOW_RUN_LOG_INPUT_TRUNCATE_THRESHOLD_KB | 2 |
工作原理
- 输入——超过
AP_FLOW_RUN_LOG_INPUT_TRUNCATE_THRESHOLD_KB 的值在日志中会被替换为占位符;步骤在运行时仍然会收到完整值。
- 输出——超过
AP_FLOW_RUN_LOG_SLICE_THRESHOLD_KB 的输出会被卸载到对象存储中,并在日志中替换为引用;载荷会根据需要重新加载。
- 总计——输入和输出的累计大小(按原始大小计算已卸载的输出)由
AP_MAX_FLOW_RUN_LOG_SIZE_MB 限制。超出该限制的运行将以 LOG_SIZE_EXCEEDED 状态结束。
如果某次运行产生的累计输出超出了 `AP_MAX_FLOW_RUN_LOG_SIZE_MB`,无论有多少单个输出已被卸载到对象存储,该运行都将以 `LOG_SIZE_EXCEEDED` 状态结束。降低 `AP_FLOW_RUN_LOG_SLICE_THRESHOLD_KB` 不会获得更多的日志空间——只有提高 `AP_MAX_FLOW_RUN_LOG_SIZE_MB` 才能解决问题。
Webhook
| 限制 | Cloud | 环境变量 | 自托管默认值 |
|---|
| 同步 Webhook 响应超时 | 30 秒 | AP_WEBHOOK_TIMEOUT_SECONDS | 30 |
| Webhook 最大载荷大小 | 5 MB | AP_MAX_WEBHOOK_PAYLOAD_SIZE_MB | 25 |
| Webhook 载荷内联阈值 | 1024 KB | AP_WEBHOOK_PAYLOAD_INLINE_THRESHOLD_KB | 512 |
对于同步 Webhook 请求(URL 以 `/sync` 结尾),Activepieces 会等待响应超时后再返回 HTTP 408。超过内联阈值的载荷会从 Redis 卸载到文件存储,以保护 Redis 内存;较小的载荷保持内联以获得最快的处理速度。
键值存储
由内置的 Store Piece 以及任何调用 context.store 的 Piece 使用。
| 限制 | 值 |
|---|
| 最大键长度 | 128 个字符 |
| 最大值大小 | 512 KB |
这些限制不可配置。