1. 程式人生 > >Airflow 中文文件:概念

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 ; 另一個只出現在本地範圍內。

閱讀全文/改進本文