0
我正在使用芹菜執行器和此dockerfile的設置。部署如何與Airflow協同工作?
我正在將我的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,但它看起來對我來說非常昂貴。