问题描述
如果有特定文件出现,我有一个完美的流程要运行。使用luigi之类的东西,您将创建一个ExternalTask来输出该文件,然后对其施加依赖性。 Prefect中的标准模式是什么?
解决方法
根据您的用例,有一些选项:
- 创建一个等待任务:在这种情况下,您可以为流编写一个根任务,等待外部依赖关系/条件得到满足,然后返回。只要其他任务依赖于此任务,它们就不会运行,直到该任务完成。
- 使用GraphQL API:Prefect Server和Cloud都具有功能齐全的GraphQL API,用于对流和运行执行许多常见操作。在这种情况下,只要满足外部条件(可能使用描述条件的
create_flow_run
值),就可以调用Parameter
来创建临时流程。有关此模式的更多讨论,请查看this stackoverflow question