全部文档
文档中心数据流3.0常见问题与自查运维与集成实践

运维与集成实践

deep_pipeline.event_logs 用于保存流程实例日志。如果大量数据流使用【详细】日志级别,且运行频率较高,该表会快速增长并占用较多磁盘空间。

建议:

  1. 对运行频率高、只关注处理结果的流程,将流程日志级别调整为【极简】。

  2. 由数据库管理员结合审计和问题追溯要求,制定日志保留周期。

  3. 优先清理保留期外且状态为【成功】的实例日志,失败实例日志应保留更长时间用于排查。

  4. 清理前先备份并用同条件的 SELECT 统计影响范围;数据量较大时应在维护窗口分批执行,避免长事务影响线上运行。

以下 SQL 示例用于清理 7 天以前、状态为 SUCCESS 的实例日志:

Copy
DELETE FROM event_logs AS el
USING runs AS r
WHERE el.run_id = r.run_id
  AND r.status = 'SUCCESS'
  AND r.create_timestamp < NOW() - INTERVAL '7 days';

该语句会直接删除数据,仅供数据库管理员在确认备份、保留策略和影响范围后执行。不同部署环境的表名、Schema 和权限可能不同。

不要把大批量明细数据直接放入子数据流的启动参数。

建议将单次请求体控制在 1 MB 以内。直接传递数万行明细可能形成超过 100 MB 的请求体,带来带宽占用、请求超时、内存溢出、CPU 升高和接口无响应等风险。

错误示例参见工单 issue_05271

如果已经按上述方式启动实例,并导致流程监控页面无法正常打开,可以先通过 API 查询并删除对应实例。参考 DEMO:删除单个数据流元素的实例

这是数据流场景的推荐方式:

  1. 创建对象或数据表元素,用于临时或长期保存待传递明细,并使用主流程实例 ID 作为批次标识。

  2. 主流程调用子流程前,先将明细数据写入该存储。

  3. 启动子流程时只传递必要的轻量参数。

  4. 子流程启动后,通过 Pipeline.run.parent_run_id 获取父流程实例 ID,再按该标识查询所需明细。

  5. 根据业务要求设计数据保留和清理机制。

参考 DEMO:调用数据流

无法使用中间存储时,可以将数据拆分为多个小批次循环调用。每批 1000~5000 行仅可作为起始参考,实际批次大小需要根据字段数量、单行大小、服务超时和资源配置压测确定。

回到顶部

咨询热线

400-821-9199