top of page

Sensores no Apache Airflow 3: Esperando por Eventos de Forma Inteligente

No Apache Airflow, os Sensores (Sensors) são tarefas especiais cujo objetivo principal é esperar por um evento externo antes de permitir que o fluxo de trabalho avance.

Eles são fundamentais quando precisamos que a execução seja condicional, ou seja, que uma etapa só aconteça se um arquivo, tabela ou API já estiver disponível.

Como Funcionam os Sensores

Um sensor nada mais é do que uma tarefa Python síncrona que faz a sondagem (polling) de um evento externo.

📌 Ponto de atenção: enquanto espera, o sensor ocupa um worker slot — o que pode reduzir a eficiência se o tempo de espera for longo. Por isso, sensores tradicionais são indicados apenas para esperas curtas.


ree

Casos de Uso Comuns

O Airflow já oferece uma variedade de sensores prontos para diferentes cenários. Alguns exemplos:

  1. Arquivos em bucket: processar um arquivo no S3 (ou GCS, Azure, etc.) assim que ele chega.

  2. Agendamento flexível: disparar diferentes tarefas em momentos distintos dentro da mesma DAG.

  3. Encadeamento de pipelines: iniciar uma DAG quando outra DAG terminar.

  4. Disponibilidade de serviço: aguardar até que uma API esteja online.

  5. Transformação de dados: começar a transformação somente quando a tabela já estiver preenchida.

Além dos sensores nativos (como os de S3, SageMaker, etc.), é possível criar sensores personalizados usando @task.sensor ou PythonSensor. E, para encontrar opções prontas para serviços específicos, vale a pena consultar o Astronomer Registry.

Alternativas para Esperas Longas

Quando a espera pode ser de minutos ou horas, sensores tradicionais não são a melhor escolha. O Airflow 3 traz alternativas mais eficientes:

🔹 Operadores Diferíveis (Deferrable Operators)

  • Usam triggers assíncronos executados no componente triggerer.

  • Não ocupam slot de worker durante a espera.

  • Muitos sensores nativos já têm suporte ao parâmetro deferrable=True.

🔹 Agendamento por Eventos (AssetWatchers)

  • Novo recurso do Airflow 3.

  • DAGs podem ser disparadas diretamente por eventos externos, sem precisar de sensores ativos.

  • Os AssetWatchers ficam monitorando o sistema externo em segundo plano.

  • Exemplo: disparar uma DAG assim que uma mensagem chega em uma fila de eventos.


Sensores são uma peça central para integrar o Airflow a sistemas externos, mas é importante usá-los com estratégia.

  • Para esperas curtas → use sensores tradicionais.

  • Para esperas longas → prefira operadores diferíveis ou, ainda melhor, o agendamento por eventos com AssetWatchers.

👉 Em outras palavras: o Airflow 3 não só espera por você, como agora também sabe a hora certa de acordar.

Comentários


bottom of page