截断的日志

了解和解决工作流运行日志截断问题

概述

工作流运行有最大日志大小限制(默认 25 MB)。当运行接近此限制时,Activepieces 会尝试通过截断较大的步骤输入来保持在限制之下 — 你会看到 (truncated) 替代了原始值。

截断内容

截断仅适用于步骤输入。步骤输出永远不会被截断,因为下游步骤、子工作流以及暂停/恢复的运行需要原始输出来正确继续执行。如果输出被丢弃,下一步将收到缺失的数据并意外失败。

引擎的工作方式如下:

  1. 如果运行总数据在限制范围内,则不截断任何内容。

  2. 否则,从最大的步骤输入值开始,将其替换为 (truncated),直到运行数据符合限制。

  3. 如果所有输入都被截断后,运行仍然超出限制 — 意味着仅步骤输出就超过了上限 — 则运行失败,显示 LOG_SIZE_EXCEEDED 错误,例如:

    Flow run data size exceeded the maximum allowed size of 25 MB

运行仍然可能失败的原因

如果你在下载或生成大文件(如数兆字节的 HTTP 响应、base64 编码的二进制数据或大型 API 负载)的步骤上看到此错误,则说明该步骤的输出导致了运行超出限制。由于输出不能在不破坏后续步骤的情况下被截断,引擎别无选择,只能让运行失败。

解决方案

通过设置 AP_MAX_FLOW_RUN_LOG_SIZE_MB 环境变量来增加工作流运行日志大小限制:

AP_MAX_FLOW_RUN_LOG_SIZE_MB=50
对于大文件处理,建议使用内置文件存储(例如通过 `Files` / `File` 属性)在步骤之间传递文件,而不是将原始字节嵌入步骤输出中。这样可以保持运行日志较小,完全避免此限制。 **未来改进:** 计划中的增强功能将把此限制从每次运行移至每次步骤,从而更精细地控制每个步骤可以保留的数据量。