[英]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.