Orchestrator Function上次运行未结束前再次触发会发生什么
Orchestrator Function 执行调度规则解答
核心判断逻辑和你传入的输入参数无关,仅以触发时指定的实例ID(instanceId) 作为唯一调度依据,不存在默认自动取消运行中实例、也不存在默认排队等前序实例跑完再执行新请求的逻辑,具体分两种场景:
- 两次触发传入不同
instanceId:两次触发会生成完全独立的两个编排实例,并行执行互不干扰。你提到的场景中,首次触发的实例会继续执行剩余1分钟的Activity流程直到正常结束,第二次触发的实例会在触发后立即启动,不会等待首次实例完成,也不会对首次实例的运行产生任何影响。 - 两次触发传入相同
instanceId:默认的新建实例操作会直接返回「实例已存在」的冲突错误,正在运行的首次实例不会受到任何干扰——既不会被强制取消,也不会读取第二次传入的新输入参数,更不会在自身运行结束后自动执行第二次传入的新逻辑。如果需要用新参数重启同ID实例,必须先显式调用终止接口停掉运行中的实例,再重新发起启动请求。
常见误区提示:调度层不会对两次请求的输入参数做差异校验,输入参数不同不会被自动识别为新实例,实例唯一性仅和你显式传入的
instanceId绑定。
内容的提问来源于stack exchange,提问作者bard
相关产品推荐
相关产品推荐

