apache airflow和文件移动的幂等性

时间:2017-10-01 10:07:57

标签: airflow idempotent

我有一个工作流程,我需要使用气流(或我猜的任何其他工作流引擎)进行管理。主要问题是当一些文件被转储到文件系统时需要启动工作流(从技术上讲,它将是一个samba挂载)。第一步是将文件移到更永久的东西上。

现在,由于没有挂钩会告诉我何时转储新文件,我留下了如何创建工作流的问题,如果数据移动时间过长,则下一次运行工作流程不会再次尝试移动数据(可能会破坏原始文件移动)。

我最初的想法是在samba挂载上本地重命名文件,只扫描其他文件。但是,如果传输以任何方式失败,我将不得不重新命名文件,以便下一次运行可以再试一次。

有没有更好的方法来使这个幂等?气流中是否存在try / except / finally块的概念?

1 个答案:

答案 0 :(得分:0)

您可以使用ExternalTaskSensor等待上一次执行完成,然后再开始新的执行。或者,您可以在DAG对象上将max_active_runs设置为1。