首页 > 解决方案 > 完善如何等待外部依赖

问题描述

我有一个完美的流程,我想在出现特定文件时运行。使用 Luigi 之类的东西,您将创建一个输出该文件的 ExternalTask​​,然后对其施加依赖。Prefect 中的标准模式是什么?

标签: pythonetlpipelineprefect

解决方案


根据您的用例,有几个选项:

  • 创建一个等待任务:在这种情况下,您可以为您的流程编写一个根任务,等待满足外部依赖/条件,然后返回。只要其他任务依赖于这个任务,它们就不会运行,直到这个任务完成。
  • 使用 GraphQL API:Prefect Server 和 Cloud 都有一个功能齐全的 GraphQL API,用于通过流和运行执行许多常见操作。在这种情况下,您可以create_flow_run在满足外部条件时调用(可能带有Parameter描述条件的值)来创建流程的临时运行。有关此模式的更多讨论,请查看此 stackoverflow 问题

推荐阅读