You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

停止Orchestrator后Durable Function仍运行?是否为设计如此?

问题解答

1. 终止编排器后活动继续运行是设计如此吗?

是的,这是Durable Functions的默认设计行为。当你终止编排器时,只会停止编排器自身的后续调度逻辑,但已经启动执行的活动函数会继续运行直到完成——因为活动函数是独立于编排器执行的,Durable Task Framework不会主动中断正在运行中的活动进程。

如果需要实现活动函数的中途终止,得手动添加中断逻辑:

  • 在活动函数内部定期检查终止信号(比如通过Durable实体存储的状态、Blob存储的标记,或者编排器传递的终止指令)
  • 一旦检测到终止信号,主动抛出异常或退出函数执行

2. 长时间运行的函数只能用Durable吗?常规Azure Function是否适用?

常规Azure Function确实不适合运行超过60分钟的任务:

  • 消费计划默认超时10分钟,最多可调整至60分钟
  • 高级计划和专用计划的固定超时也是60分钟

如果你的任务运行时长超过20分钟(甚至更久),Durable Functions是合适的选择——它的活动函数在高级/专用计划下可以突破常规Function的超时限制(依托Durable的持久化调度机制,活动的实际运行时长主要受限于你的资源配置和任务本身)。如果只是单步长时间任务,也可以考虑用Azure Logic Apps或Azure Batch,但如果坚持用函数形态,Durable Functions是最优解。

内容的提问来源于stack exchange,提问作者jeancallisti

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 22:12:05