0

Ich habe eine Aufgabe in einem Luftstrom DAG. Es hat drei untergeordnete Aufgaben. Leider gibt es Fälle, in denen diese übergeordnete Aufgabe erfolgreich sein wird, aber zwei der drei Kinder werden fehlschlagen (und eine Wiederholung der Kinder wird sie nicht beheben).löschen Sie eine vorgelagerte Aufgabe im Luftstrom innerhalb der dag

es erfordert, dass das übergeordnete Element es erneut versucht (obwohl es nicht fehlgeschlagen ist).

so gehe ich pflichtbewusst in die Graphansicht des dag run und 'clear' diese übergeordnete Aufgabe und alle nachgelagerten Aufgaben (+ rekursiv).

Gibt es einen Weg, ich kann dies innerhalb der dag selbst tun?

Antwort

0

Es ist nicht direkt Ihre Frage beantworten, aber ich kann eine bessere Abhilfe vorschlagen:

default_args = { 
    'start_date': datetime(2017, 12, 16), 
    'depends_on_past': True, 
} 

dag = DAG(
    dag_id='main_dag', 
    schedule_interval='@daily', 
    default_args=default_args, 
    max_active_runs=1, 
    retries=100, 
    retry_delay= timedelta(seconds=120) 
) 

die depends_on_past auf True gesetzt in der DAG.

Dann in den Aufgaben dieser dag, begrenzen die Wiederholungen Wiederholungen

DummyOperator(
     task_id='bar', 
     retries=0 
     dag=child) 

diese Weise mit der DAG als fehlerhaft markiert wird, wenn jede Aufgabe ein Fehler auftritt. Dann wird die DAG erneut versucht.

Verwandte Themen