有没有办法暂停工作流的执行?
Is there a way to pause an execution of a workflow?
有没有办法通过 REST API 以编程方式暂停和恢复工作流?例如,我希望能够从应用程序提交个人休假请求,该应用程序创建并触发工作流。工作流向经理发送通知以供批准,工作流执行暂停,等待经理批准。经理批准请求后,它会调用工作流 API 以恢复工作流的执行。
根据文档,有一个让工作流休眠的选项,我可以用它来定期检查请求的状态,但这会产生额外的费用,因为不知道经理何时会批准请求。
不确定你的use-case,但我想你只能选择在经理批准后执行工作流。
如您所知,有两个部分,第一部分创建工作流。
例如在 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 中正确理解定价,那么他们似乎只按执行的步骤向您收费。
抱歉,我已经浏览了很多文档,但没有看到“让工作流休眠的选项”,您能 link 那些文档吗?
我们在这里讨论的是两个独立的工作流程。没有理由暂停或不暂停。
- 启动并上升,直到您启动审批流程。
- 批准后,触发执行其余步骤的新工作流程。
2021-10-05 更新:
Waiting for an HTTP callback 现在支持:
- create_callback:
call: events.create_callback_endpoint
args:
http_callback_method: POST # can be GET, PUT, ...
result: callback_details
# Send the callback URL somewhere for another service to call
- await_callback:
call: events.await_callback
args:
callback: ${callback_details}
timeout: 1800 # optional, in seconds
result: callback_request
原回复
计划在工作流执行期间等待 HTTP webhook 回调的功能。 (我是工作流程 PM。)
在那之前,你是对的,最好的解决方案是使用 sleep
.
轮询标志(Firestore 对此效果很好)
有没有办法通过 REST API 以编程方式暂停和恢复工作流?例如,我希望能够从应用程序提交个人休假请求,该应用程序创建并触发工作流。工作流向经理发送通知以供批准,工作流执行暂停,等待经理批准。经理批准请求后,它会调用工作流 API 以恢复工作流的执行。
根据文档,有一个让工作流休眠的选项,我可以用它来定期检查请求的状态,但这会产生额外的费用,因为不知道经理何时会批准请求。
不确定你的use-case,但我想你只能选择在经理批准后执行工作流。
如您所知,有两个部分,第一部分创建工作流。 例如在 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 中正确理解定价,那么他们似乎只按执行的步骤向您收费。
抱歉,我已经浏览了很多文档,但没有看到“让工作流休眠的选项”,您能 link 那些文档吗?
我们在这里讨论的是两个独立的工作流程。没有理由暂停或不暂停。
- 启动并上升,直到您启动审批流程。
- 批准后,触发执行其余步骤的新工作流程。
2021-10-05 更新:
Waiting for an HTTP callback 现在支持:
- create_callback:
call: events.create_callback_endpoint
args:
http_callback_method: POST # can be GET, PUT, ...
result: callback_details
# Send the callback URL somewhere for another service to call
- await_callback:
call: events.await_callback
args:
callback: ${callback_details}
timeout: 1800 # optional, in seconds
result: callback_request
原回复
计划在工作流执行期间等待 HTTP webhook 回调的功能。 (我是工作流程 PM。)
在那之前,你是对的,最好的解决方案是使用 sleep
.