簡體   English   中英

部署如何與Airflow一起使用?

[英]How deployment works with Airflow?

我正在使用Celery Executor和此dockerfile中的設置。

我正在將dag部署到調度程序容器的/usr/local/airflow/dags目錄中。

我可以使用以下命令運行我的dag:

$ docker exec airflow_webserver_1 airflow backfill mydag -s 2016-01-01 -e 2016-02-01 

我的dag包含一個簡單的bash運算符:

BashOperator(command = "test.sh" ... )

操作員運行test.sh腳本。

但是,如果test.sh引用了其他文件,例如callme.sh ,那么我會收到“找不到文件”錯誤。

e.g
$ pwd
/usr/local/airflow/dags/myworkflow.py

$ ls
myworkflow.py
test.sh
callme.sh

$ cat test.sh
echo "test file"
./callme.sh

$ cat callme.sh
echo "got called"

運行myworkflow時,將調用調用test.sh的任務,但由於未找到callme.sh而失敗。

我覺得這很混亂。 與工作人員共享代碼資源文件是我的責任,還是氣流的責任? 如果是我的,那么推薦的方法是什么? 我正在使用EFS並將其安裝在所有容器上,但對我來說看起來非常昂貴。

對於芹菜執行者,您有責任確保每個工作人員都擁有運行工作所需的所有文件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM