
概述
此模板描述了一种处理来自独立外部进程(从工作流发起)的伪回调/触发器的方法,并将接收到的输入与正在进行的工作流执行相结合。这需要外部系统传递一些上下文信息(resumeUrl),但允许”主要”工作流执行继续使用其自身(先前节点)上下文和”次要”触发器/进程中接收到的输入。
主要工作流触发器/执行
从主要触发器开始的工作流路径启动一些外部独立进程,并提供”上下文”,其中包括$execution.resumeUrl的值。然后此执行到达配置为Resume – On Webhook Call的Wait节点,并在收到对resumeUrl的调用之前停止。
外部独立进程
外部独立进程可以是任何东西,如Telegram对话或Web服务,只要:
它导致次要工作流触发器的单次执行,并且
它可以传递与主要工作流执行相关的resumeUrl值
次要工作流触发器/执行
次要工作流执行可以以任何类型的触发器开始,只要部分输入可以包括resumeUrl。要合并/重新加入主要工作流执行,此执行将其从触发器输入接收到的任何内容传递给Wait节点上的resume-webhook端点。
注意事项
重要:标记为Update Me的Set节点中的工作流ID嵌入了原始系统中工作流ID的引用。需要更改它们才能使此演示工作。
注意:模板中的Resume Other Workflow Execution节点使用$env.WEBHOOK_URL配置转换为Docker环境中的内部”localhost”调用。这可以以不同方式完成。
警告:此模式不适合处理多个项目的工作流,因为第一个工作流执行只会等待一个回调。
第二个工作流(不是第一个工作流中的第二个触发器)仅用于演示独立外部进程需要如何工作。

评论(0)