2017-01-28 2 views
0

Airflow를 개발하고 DAG를 켜면 6 단계에서 실패하고 7-9 단계가 시작되지 않습니다. 하지만 문제를 디버깅하기 전에 다음 인스턴스 (이전에 start_date를 두었습니다)가 시작되어 5 단계로 진행되고 6 단계에서 실패하여 완전히 내 워크 플로를 엉망으로 만듭니다. 이 동작이 예상 되나요, 아니면 꺼져있어이 인스턴스가 녹색이 될 때까지 다음 인스턴스가 시작되지 않을 수 있습니까?다음 인스턴스를 실행하기 전에이 인스턴스를 디버그 할 수 있습니까?

답변

1

운영자에게 설정할 수있는 다음 두 가지 옵션에 대해 문서를 확인하십시오.

true로 설정하면 작업 인스턴스가 성공하기 위해 이전 작업의 일정에 의존하면서 순차적으로 실행됩니다. start_date의 타스크 인스턴스가 실행될 수 있습니다.

wait_for_downstream (bool) - true로 설정하면 작업 X의 인스턴스는 작업 X의 이전 인스턴스의 바로 다운 스트림 작업이 실행되기 전에 정상적으로 완료 될 때까지 대기합니다. 이는 태스크 X의 다른 인스턴스가 동일한 자산을 변경하고이 자산이 태스크 X의 작업 다운 스트림에서 사용되는 경우 유용합니다. depends_on_past는 wait_for_downstream이 사용되는 모든 곳에서 강제로 True로 설정됩니다.

참조 : https://airflow.incubator.apache.org/code.html#models

+0

감사합니다! 내가 누락 된 깃발이있을 거라고 생각했는데, 나는 그것이'wait_for_downstream'라고 생각한다. 나는 'depends_on_past'에 대해'이전의 작업 일정에 의존하여 작업 인스턴스가 순차적으로 실행될 것임을 이해하지 못합니다 '라고 생각합니다. "이전 작업의 일정"은 이전 작업의 인스턴스 또는 현재 인스턴스에서이 작업의 직전 작업을 의미합니까? – selwyth

+1

예 "이전 작업 일정"은 DAG 실행 직전입니다. 하루에 한 번 실행되는 작업 (A) -> (B) -> (C)가있는 DAG가 있다고 가정 해보십시오. (B)를 설정하면 오늘의 달리기가 어제의 달리기가 성공하기 전에 계속 진행됩니다. – Necravolver

관련 문제