Sensores no Apache Airflow 3: Esperando por Eventos de Forma Inteligente
- Gilmar Pupo
- 29 de set.
- 2 min de leitura
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.

Casos de Uso Comuns
O Airflow já oferece uma variedade de sensores prontos para diferentes cenários. Alguns exemplos:
Arquivos em bucket: processar um arquivo no S3 (ou GCS, Azure, etc.) assim que ele chega.
Agendamento flexível: disparar diferentes tarefas em momentos distintos dentro da mesma DAG.
Encadeamento de pipelines: iniciar uma DAG quando outra DAG terminar.
Disponibilidade de serviço: aguardar até que uma API esteja online.
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