并发上限控制
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 在没有并发约束的情况下打满所有外部依赖
- 用并发参数掩盖错误的业务拓扑设计