Airflow 中文文档:概念

Airflow Platform是用于描述,执行和监控工作流的工具。

核心理念

DAG的

在Airflow中, DAG (或定向非循环图)是您要运行的所有任务的集合,以反映其关系和依赖关系的方式进行组织。

例如,一个简单的DAG可以包含三个任务:A,B和C.可以说A必须在B可以运行之前成功运行,但C可以随时运行。 它可以说任务A在5分钟后超时,并且B可以重新启动最多5次以防它失败。 它也可能会说工作流程将在每天晚上10点运行,但不应该在某个特定日期之前开始。

通过这种方式,DAG描述您希望如何执行工作流程; 但请注意,我们还没有说过我们真正想做的事情! A,B和C可以是任何东西。 当C发送电子邮件时,也许A准备B进行分析的数据。 或者也许A监控你的位置,这样B可以打开你的车库门,而C打开你的房子灯。 重要的是,发展议程集团并不关心其组成任务的作用; 它的工作是确保无论他们做什么在正确的时间,或正确的顺序,或正确处理任何意外的问题。

DAG在标准Python文件中定义,这些文件放在Airflow的DAG_FOLDER 。 Airflow将执行每个文件中的代码以动态构建DAG对象。 您可以拥有任意数量的DAG,每个DAG都描述任意数量的任务。 通常,每个应该对应于单个逻辑工作流。

注意

搜索DAG时,Airflow将仅考虑字符串“airflow”和“DAG”都出现在.py文件内容中的文件。

范围

Airflow将加载它可以从DAG导入的任何DAG对象。 重要的是,这意味着DAG必须出现在globals() 。 考虑以下两个DAG。 只会加载dag_1 ; 另一个只出现在本地范围内。

阅读全文/改进本文

推荐阅读更多精彩内容

  • 专业考题类型管理运行工作负责人一般作业考题内容选项A选项B选项C选项D选项E选项F正确答案 变电单选GYSZ本规程...
    小白兔去钓鱼阅读 5,607评论 0 4
  • pdf下载地址:Java面试宝典 第一章内容介绍 20 第二章JavaSE基础 21 一、Java面向对象 21 ...
    王震阳阅读 69,891评论 26 501
  • 1.埋点是做什么的 2.如何进行埋点 3.埋点方案的设计 近期常被问到这个问题,我担心我的答案会将一些天真烂漫的孩...
    lxg阅读 625评论 0 0
  • 在C语言中,五种基本数据类型存储空间长度的排列顺序是: A)char B)char=int<=float C)ch...
    夏天再来阅读 398评论 0 1
  • 今天是2018年的一月四日,早上起床,拉开窗帘,映入眼帘的是一片白茫茫的,是的,夜里就开始下雪了,早上起来,已经堆...
    黑眼睛莉莉阅读 9评论 0 0