0

我有 5 个步骤 Argo-workflow: step1:在云上创建 VM step2:做一些工作 step3:做更多工作 step4:做一些进一步的工作 step5:删除 VM

以上所有步骤都很耗时。无论出于何种原因,正在运行的工作流可能会通过发出停止/终止命令来停止或终止。

我要做的是,如果在step4启动之前的任何阶段发出了停止/终止命令,我想直接跳转到step4,这样我就可以清理在step1创建的VM。

有什么办法可以做到这一点?我想象它可以这样发生:

  1. 假设我在第 2 步发出停止/终止信号。
  2. 在第 2 步运行的 pod 会收到工作流将要停止的信号。
  3. pod 停止当前的工作并输出一个特殊的字符串,告诉下一步要跳过
  4. 所以 step3 看到 step2 的输出,跳过它的工作并将其传递给 step4 等等。
  5. step5 运行不考虑输入并删除 VM。

请让我知道这样的事情是否可以实现。

4

1 回答 1

0

听起来第 5 步无论如何都需要运行,这就是退出处理程序的用途。这是一个例子。当您在任何步骤“停止”时,将执行退出处理程序,但如果您终止整个工作流程,则会跳过该处理程序。

于 2021-10-21T08:55:40.707 回答