[英]Basic DAG Issues - Bash Command Runs in Terminal and Not Airflow
我試圖在 Airflow 中運行這個 DAG,目的是自動化一些 python 腳本。 為了測試它,我正在運行一個超級簡單的.py,如下所示。
在 Astro_Projects 目錄中的 linux 終端中運行“python3 /home/j/git/J/Code_Modules/TEST.py”時,它工作得很好。 不過似乎不會在 DAG 中運行。
日志文件返回“沒有這樣的文件或目錄”。 .py 腳本位於我的“Code_Modules”文件夾中,而 DAG 位於我的“Astro_Projects”文件夾中,如下所示:
我對此很陌生,因此非常感謝任何幫助。 謝謝
#%%
import os
from datetime import datetime, timedelta
from airflow.models import DAG, Variable
from airflow.operators.bash_operator import BashOperator
# DAG Settings
args = {
'owner': 'J',
'start_date': datetime(2022, 9, 14),
'retries': 1,
'retry_delay': timedelta(minutes=1),
'dagrun_timeout': timedelta(minutes=15),
'email_on_failure': True,
'email_on_retry': False,
'catchup': False
}
dag = DAG(
dag_id='TEST_DAG',
default_args=args,
schedule_interval='0 6 * * *',
tags=['Prod','TEST']
)
send_reports = BashOperator(
task_id='TEST',
bash_command='python3 /home/j/git/J/Code_Modules/TEST.py',
dag=dag
)
# %%
“TEST.py”就是這樣:
import os
print('thisworked')
使用相對路徑:
send_reports = BashOperator(
task_id='TEST',
bash_command='python3 ../Code_Modules/TEST.py',
dag=dag
)
但使用 PythonOperator 執行 python 函數更有意義,
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.