2016-07-11 4 views
2

매일 실행되도록 예약 된 세 개의 bash 작업이있는 DAG가 있습니다.하위 작업에서 AirFlow dag id 액세스

모든 bash 스크립트에서 dag 인스턴스의 고유 ID (PID 일 수 있음)에 액세스하고 싶습니다.

이렇게 할 방법이 있습니까?

워크 플로 xml 또는 java 코드에서 WORKFLOW_ID에 액세스 할 수있는 Oozie와 비슷한 기능을 찾고 있습니다.

누군가는 PARI을 "어떻게 공기 흐름 DAG에서의 빌드 및 사용자 정의 변수를 사용하는"

많은 감사에 공기 흐름의 문서를 날 포인트

난 사실을 이용했다

답변

0

그 파이썬 객체 dag은 현재 dag의 이름을 출력합니다. 그래서 난 그냥 dag 이름 변경 jinja2를 사용 해킹의

{{ 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('>', '') }} 
    """ 
)