Adăugarea reîncercărilor
Ai observat că un anumit DAG eșuează frecvent la o sarcină care extrage date dintr-o sursă. Surprinzător, rularea sarcinii câteva minute mai târziu pare să rezolve problema. După ce ai aflat despre funcționalitatea de reîncercare din DAG-urile Airflow, decizi să implementezi reîncercări pentru această sarcină, pentru a nu mai fi nevoit să o repornești manual.
dag, task și timedelta sunt deja importate pentru tine.
Acest exercițiu face parte din cursul
Introducere în Apache Airflow în Python
Instrucțiuni pentru exercițiu
- Setează sarcina
extract_datasă se reîncerce de 3 ori înainte de a eșua. - Adaugă o întârziere de 10 minute între reîncercări pentru sarcina
extract_data.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
@dag(schedule="@daily", start_date=datetime(2026, 5, 1))
def etl_pipeline():
# Set retries and retry delay on extract_data
@task(____=3, ____=____(minutes=10))
def extract_data():
print("Extracting data from source...")
@task()
def process_source_data():
print("Now processing data...")
extract_data() >> process_source_data()
etl_pipeline()