0

我们正在开发不同的 wf 工具,argo 因其广泛的功能而脱颖而出,而且它是 k8s 原生的,但我们有长时间运行步骤的用例,我们希望基于事件的系统触发下一步或重试基于上一步关于事件(例如远程作业的状态),是否可以通过 argo-events 来实现?

4

3 回答 3

1

为了澄清您的用例,您需要长时间运行(如继续运行服务)步骤,该步骤将产生事件以根据事件触发需要运行的步骤/工作流。这是对的吗?

对于上述用例,您可以使用 Argo-event 从外部事件(如 Github、S3、流、SNS、日历事件等)触发 Argo 工作流。

于 2019-12-06T19:14:58.980 回答
0

是的,您可以定义“何时”情况并根据某些输出执行上一步。

例如,这个例子展示了你如何不断地掷硬币直到它出现正面。注意当它是尾部时,它再次调用“coinflip”模板——有点像递归的概念。

于 2021-10-21T08:44:06.857 回答
0

您可以将步骤分解为不同的 argo 工作流程。然后利用 argo 事件将这些工作流捆绑在一起。例如:使用 argo 事件配置事件源的方法很少。您可以将 gcp pubsub 或 kafka 主题配置为每个工作流的事件源。然后您可以创建一个管道或一系列通过上面创建的事件源链接的工作流。

kafka topic1 ===> WF1 --sends msg--> kafka topic2 ===> WF2 ...等等。

通过这样做,您可以通过简单地向相应主题发送消息来重试任何工作流程。

于 2020-08-05T21:28:27.357 回答