Adicionando tentativas (retries)
Você percebeu que um Dag específico está falhando com frequência em uma tarefa que extrai dados de uma determinada fonte. Para piorar, executar a tarefa alguns minutos depois parece resolver o problema. Depois de aprender sobre a funcionalidade de tentativas (retries) em Dags do Airflow, você decide implementar retries nessa tarefa para evitar reiniciá-la manualmente.
Os objetos dag, task e timedelta já foram importados para você.
Este exercício faz parte do curso
Introdução ao Apache Airflow em Python
Instruções do exercício
- Configure a tarefa
extract_datapara tentar novamente 3 vezes antes de falhar. - Adicione um atraso de 10 minutos entre as tentativas na tarefa
extract_data.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
@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()