有没有办法暂停工作流程的执行?

问题描述

是否可以通过REST API以编程方式暂停和恢复工作流?例如,我希望能够从应用程序提交个人休假请求,该应用程序创建并触发工作流程。工作流向经理发送通知以进行批准,并且在等待经理的批准时暂停工作流的执行。经理批准请求后,便会调用工作流程API以恢复工作流程的执行。

从文档中可以选择让工作流程进入睡眠状态,我可以使用它来定期检查请求的状态,但这会产生额外的费用,因为不知道经理何时批准该请求。

https://cloud.google.com/workflows/docs/reference/syntax

解决方法

不确定用例,但我想您只能在经理批准后选择执行工作流程。

您知道有两个部分,第一部分创建工作流程。 例如,https://cloud.google.com/workflows/docs/reference/rest/v1beta/projects.locations.workflows/create api中就是这样。 或者,您可以查看https://cloud.google.com/workflows/docs/creating-updating-workflow

那不会执行它只是创建的工作流程。因此可以在以后执行。

要执行工作流程,请使用此Api https://cloud.google.com/workflows/docs/reference/executions/rest/v1beta/projects.locations.workflows.executions/create 或参见https://cloud.google.com/workflows/docs/executing-workflow

此外,在执行工作流程时,您可以根据需要传入参数。

然后,如果我从https://cloud.google.com/workflows#section-9正确地了解了价格,看来他们只按执行的每一步向您收费。

对不起,我浏览这些文档相当多,但我没有看到“让工作流程进入休眠状态的选项”,您能不能将这些文档链接起来?

,

我们在这里谈论两个独立的工作流程。没有理由暂停设计。

  1. 发起并继续进行,直到触发批准过程。
  2. 获得批准后,触发一个执行其余步骤的新工作流程。
,

计划在工作流程执行期间等待HTTP Webhook回调的功能。 (我是Workflows PM。)

直到那时,您是对的,最好的解决方案是使用sleep来轮询标志(Firestore对此很有效)。