Я пытаюсь протестировать свой DAG с помощью интерфейса командной строки во время разработки новых функций, но не могу этого сделать. Мои DAG-файлы, DAG_ID = sample_dag, file: sample_dag.py находится в папке ~ / airflow / dags (Ubuntu) и может быть запущен OK через веб-интерфейс (щелкнув значок Play). В DAG есть несколько вызовов BASH OPERATOR, и каждый скрипт выполняется правильно, выводя записанный результат.
Однако я не могу получить доступ к той же функциональности DAG через командную строку, запущенную из той же папки, например: airflow render sample_dag all 2019-01-14T06: 04: 05
Результат выполнения приведенной выше команды: Test Dag Begin Test Dag End **** airflow.exceptions.AirflowException: dag_id не может быть найден: sample_dag. Либо даг не существует, либо его не удалось проанализировать. ****
Отпечатки отладки в DAG выполняются, но сценарий Bash не вызывается (журнал сценария не создается).
import datetime as dt
from airflow import DAG
from airflow.operators.bash_operator import BashOperator
default_args = {
'owner': 'airflow',
'start_date': dt.datetime(2019, 1, 12),
'retries': 1,
'retry_delay': dt.timedelta(minutes=5),
'email_on_failure': False,
'email_on_retry': False,
}
dag = DAG('sample_dag', default_args=default_args, schedule_interval=None)
t0 = BashOperator(
task_id='all', bash_command='echo "Starting Tests..."', dag=dag)
t1 = BashOperator(
task_id='test_1',
bash_command='python3 /home/ubuntu/scripts/test_1.py &>> /home/ubuntu/scripts/test.log',
dag=dag)
t2 = BashOperator(
task_id='test_2',
bash_command='python3 /home/ubuntu/scripts/test_2.py &>> /home/ubuntu/scripts/test.log',
dag=dag)
t3 = BashOperator(
task_id='final', bash_command='echo "Client Profile Tests Complete"', dag=dag)
print("Test Dag Begin")
t0 >> t1
t0 >> t2
t1 >> t3
t2 >> t3
print("Test Dag End")
airflow list_dags
? - person Alessandro Cosentino   schedule 15.01.2019airflow backfill -s -1 sample_dag
[2019-01-15 15:02:23,685] {jobs.py:2212} INFO - [backfill progress] | finished run 0 of 1 | tasks waiting: 3 | succeeded: 1 | running: 0 | failed: 0 | skipped: 0 | deadlocked: 0 | not ready: 2 [2019-01-15 15:02:28,692] {jobs.py:2212} INFO - [backfill progress] | finished run 0 of 1 | tasks waiting: 3 | succeeded: 1 | running: 0 | failed: 0 | skipped: 0 | deadlocked: 0 | not ready: 2...
Еще больше запутался: как задачи, просто выполняющие эхо, не могут быть готовы ?! - person Imios Archangelis   schedule 15.01.2019