Skip to content

并发上限控制

TriggerFlow 现在有三层常用并发控制点:

  • batch(..., concurrency=n)
  • for_each(concurrency=n)
  • create_execution(concurrency=n) / execution.set_concurrency(n)

推荐理解

  • batch / for_each 控制局部 fan-out
  • execution 级并发 给整次运行设置全局保护阈值

推荐示例

python
execution = flow.create_execution(concurrency=2)
execution.set_concurrency(1)

当前最佳实践

  • 有外部 API / DB 限流时,优先设 execution 全局并发
  • 只需要局部分支限流时,用 batch / for_each 的 concurrency
  • 大多数服务化场景下,两层一起用更稳

不再推荐

  • 让一个 execution 在没有并发约束的情况下打满所有外部依赖
  • 用并发参数掩盖错误的业务拓扑设计