跳过主要内容

通过事件连接工作流

现实世界的生产系统不是孤立的。它们通常与周围环境紧密连接,实时对变化做出反应。使用本节中描述的事件触发模式,您可以使Metaflow流基于外部事件自动启动。或者,您可以通过事件将多个流连接在一起,通过使用工作流作为构建模块来构建任意复杂的系统。

事件触发是使用 @schedule 装饰器 的时间基础调度的替代方法。 流不是在特定的日期和时间开始,而是在发送特定的事件到生产调度器时触发。该图示说明了这个概念:

  1. 外部系统如数据仓库、ETL管道或微服务可以创建特殊的 事件,从而触发在 生产调度器上 部署的流程的执行。

  2. 已部署的流程还可以自动触发其他流程。在这种情况下,SecondFlow 被配置为在 FirstFlow 完成时自动启动。

事件定义了工作流之间的清晰接口,这些工作流可以独立开发和操作,使多个人在构建和操作更大系统时能够无摩擦地协作。有关事件触发的更多背景信息,请参阅公告博客文章

通过阅读接下来的三个部分开始使用事件触发。第四部分与更高级的用例相关,这些用例利用 the @project 装饰器 部署多个并发的事件触发流变体。

  1. 基于外部事件触发流程
  2. 根据其他流程触发流程
  3. 检查事件
  4. 部署事件触发流的变体
info

截至今天,事件触发仅在 Argo Workflows上支持。 如果您希望看到其他生产调度器的支持,请在Metaflow community Slack上告诉我们。