공기 흐름 구현시 다중 작업자 데이터가 있습니다. 는 DAG-A 운영자 T1, T2를 가지고 말을 순차적으로 실행하도록 설정되어 T3을 수 있습니다 (예. T2는 T1에 의존하고, T3는 T2에 따라 달라집니다.)실행중인 인스턴스의 모든 작업이 완료 될 때까지 다른 인스턴스가 인스턴스화되지 않도록 다중 운영자 dag를 설정하는 방법은 무엇입니까?
task_2.set_upstream(task_1)
task_3.set_upstream(task_2)
것은 우리는 때 보험에 가입 할 필요가 DAG-A가 성공적으로 같은 DAG의 다른 인스턴스 전에 완료 모든 작업을 인스턴스화, 인스턴스화
우리는 우리의 DAG를에 다음과 같은 설정(또는 다음 DAG 인스턴스에서 첫 번째 작업이 트리거되기 전에.) :
da['depends_on_past'] = True
지금 무슨 일이 일어나고 있는지 그쪽은 인스턴스화 된 dag에 오류가 없으면 원하는 효과가 나타납니다.
그러나 dag-a가 매시간 실행되도록 예약되어 있다고 가정 해 보겠습니다. 시간에 dag-a-i1 인스턴스는 예정대로 트리거됩니다. 그런 다음 dag-a-i1 작업 t1이 성공적으로 실행되고 t2가 실행을 시작하고 실패합니다. 이 시나리오에서는 예상대로 dag-a-i1 인스턴스가 중지됩니다. 다음 시간이 오면 dag-a-i2 인스턴스가 트리거되고 dag 인스턴스 (i2)에 대한 작업 t1이 실행을 시작하고 완료를 말한 다음 dag-a-i2가 중지됩니다. t2 (dag-a-i1의 경우)의 이전 인스 턴스가 실패한 상태이기 때문에 실행됩니다.
우리가 관찰해야 할 행동은 두 번째 인스턴스가 트리거되지 않았거나 트리거되면 트리거 된 두 번째 인스턴스에 대한 작업 t1을보고 싶지 않다는 것입니다. 이것은 우리에게 문제를 일으키는 것입니다.
도움을 주시면 감사하겠습니다.