2016-07-11 7 views
2

У меня есть DAG с тремя задачами bash, которые планируется запустить каждый день.Доступ к дамскому идентификатору AirFlow в подзадачи

Я хотел бы получить уникальный идентификатор экземпляра dag (может быть PID) во всех сценариях bash.

Есть ли способ сделать это?

Я ищу аналогичную функциональность, такую ​​как Oozie, где мы можем получить доступ к WORKFLOW_ID в xml или java-коде рабочего процесса.

Может кто-нибудь мне точку в документации обдувки на «Как использовать в сборке и пользовательских переменных в AIRFLOW DAG»

Большое спасибо Пари

ответ

0

я использовал тот факт, что объект питона для dag печатает имя текущего дага. поэтому я просто использовать jinja2 изменить dag имя:

{{ dag | replace('<DAG: ', '') | replace('>', '') }} 

немного рубить, но это работает.

поэтому

clear_upstream = BashOperator(task_id='clear_upstream', 
    trigger_rule='all_failed', 
    bash_command=""" 
     echo airflow clear -t upstream_task -c -d -s {{ ts }} -e {{ ts }} {{ dag | replace('<DAG: ', '') | replace('>', '') }} 
    """ 
) 
Смежные вопросы