airflow-dag-patterns
Faz seu agente criar fluxos de trabalho automatizados para processar dados. Ele usa o Airflow para organizar tarefas, como agendar trabalhos ou executar processos de dados importantes.
O que ela faz
Esta ferramenta ajuda a criar fluxos de trabalho automatizados (chamados DAGs) para o Apache Airflow. Ela ensina as melhores práticas para organizar tarefas, garantir que elas funcionem corretamente e sejam fáceis de gerenciar.
Quando usar
- ✓Ao criar um processo automático para mover ou processar dados.
- ✓Ao precisar que um conjunto de tarefas seja executado em uma ordem específica.
- ✓Ao configurar tarefas que precisam ser repetidas em horários definidos.
Exemplo do que pedir para a IA
“Como posso criar um fluxo de trabalho que baixa um arquivo todo dia às 6 da manhã e depois o processa?”
Quer saber mais? Abra as seções abaixo.
Como usar
O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.
Link da skill
Mensagem pronta para colar
Como funciona
A ferramenta fornece modelos e exemplos de código que mostram como definir tarefas, suas dependências e configurações importantes. Ela segue princípios como garantir que uma tarefa possa ser executada várias vezes sem problemas (idempotência) e que cada tarefa tenha um resultado claro (atômica).
Instalação
Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.
No terminal (Claude Code, Codex, Cursor), na pasta do projeto:
npx skills add wshobson/agents --skill airflow-dag-patternsOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/wshobson/agents/main/plugins/data-engineering/skills/airflow-dag-patterns/SKILL.md -o SKILL.mdConteúdo técnico (SKILL.md)
Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.
Padrões de DAG do Apache Airflow
Padrões prontos para produção para o Apache Airflow, incluindo design de DAG, operadores, sensores, testes e estratégias de implantação.
Quando Usar Esta Habilidade
- Criando orquestração de pipeline de dados com Airflow
- Projetando estruturas e dependências de DAG
- Implementando operadores e sensores personalizados
- Testando DAGs do Airflow localmente
- Configurando o Airflow em produção
- Depurando execuções de DAG com falha
Conceitos Principais
1. Princípios de Design de DAG
| Princípio | Descrição |
|---|---|
| Idempotente | Executar duas vezes produz o mesmo resultado |
| Atômico | Tarefas são bem-sucedidas ou falham completamente |
| Incremental | Processa apenas dados novos/alterados |
| Observável | Logs, métricas, alertas em cada etapa |
2. Dependências de Tarefas
# Linear
task1 >> task2 >> task3
# Fan-out
task1 >> [task2, task3, task4]
# Fan-in
[task1, task2, task3] >> task4
# Complex
task1 >> task2 >> task4
task1 >> task3 >> task4
Início Rápido
# dags/example_dag.py
from datetime import datetime, timedelta
from airflow import DAG
from airflow.operators.python import PythonOperator
from airflow.operators.empty import EmptyOperator
default_args = {
'owner': 'data-team',
'depends_on_past': False,
'email_on_failure': True,
'email_on_retry': False,
'retries': 3,
'retry_delay': timedelta(minutes=5),
'retry_exponential_backoff': True,
'max_retry_delay': timedelta(hours=1),
}
with DAG(
dag_id='example_etl',
default_args=default_args,
description='Example ETL pipeline',
schedule='0 6 * * *', # Daily at 6 AM
start_date=datetime(2024, 1, 1),
catchup=False,
tags=['etl', 'example'],
max_active_runs=1,
) as dag:
start = EmptyOperator(task_id='start')
def extract_data(**context):
execution_date = context['ds']
# Extract logic here
return {'records': 1000}
extract = PythonOperator(
task_id='extract',
python_callable=extract_data,
)
end = EmptyOperator(task_id='end')
start >> extract >> end
Padrões detalhados e exemplos práticos
A documentação detalhada dos padrões está em references/details.md. Leia esse arquivo quando o nível de navegação acima for insuficiente.
Melhores Práticas
Faça
- Use a API TaskFlow - Código mais limpo, XCom automático
- Defina timeouts - Evita tarefas zumbis
- Use
mode='reschedule'- Para sensores, libera workers - Teste DAGs - Testes unitários e testes de integração
- Tarefas idempotentes - Seguro para retentar
Não Faça
- Não use
depends_on_past=True- Cria gargalos - Não codifique datas - Use macros
{{ ds }} - Não use estado global - Tarefas devem ser sem estado
- Não pule o catchup cegamente - Entenda as implicações
- Não coloque lógica pesada no arquivo DAG - Importe de módulos
Perguntas frequentes
O que é um DAG?
DAG é a sigla para Directed Acyclic Graph (Grafo Acíclico Direcionado). Pense nele como um mapa que mostra as tarefas que precisam ser feitas e a ordem em que elas devem acontecer, sem criar ciclos (ou seja, sem voltar ao início).
Por que é importante que as tarefas sejam 'idempotentes'?
Ser idempotente significa que executar uma tarefa várias vezes seguidas tem o mesmo resultado que executá-la apenas uma vez. Isso é crucial para a confiabilidade, pois se uma tarefa falhar e precisar ser reiniciada, você tem a garantia de que o resultado final não será alterado.
O que são 'operadores' e 'sensores'?
Operadores são os blocos de construção básicos de um DAG, representando uma ação a ser executada (como rodar um script Python). Sensores são um tipo especial de operador que espera por algo acontecer antes de continuar (como esperar um arquivo chegar).
Detalhes
Descrição original do autor
Build production Apache Airflow DAGs with best practices for operators, sensors, testing, and deployment. Use when creating data pipelines, orchestrating workflows, or scheduling batch jobs.
repo: wshobson/agents
Popularidade
- Estrelas no GitHub
- 41 mil
- Posição no ranking
- #4836
- Licença
- MIT
- Atualizada em
- 15/10/2026
Comentários
- …
Mais skills deste repositório
screen-reader-testing
Faz seu agente testar sites usando leitores de tela para garantir que sejam acessíveis.
wshobson/agents
wcag-audit-patterns
Ajuda seu agente a auditar sites para acessibilidade e corrigir problemas de acordo com as diretrizes WCAG.
wshobson/agents
multi-reviewer-patterns
Faz seu agente coordenar revisões de código paralelas, deduplicando achados e consolidando relatórios.
wshobson/agents
parallel-debugging
Permite ao agente depurar problemas complexos com investigações paralelas e análise de causa raiz.
wshobson/agents
Skills parecidas
bun-runtime
Faz seu agente usar o Bun para rodar, organizar e testar código. Ajuda a escolher o Bun em vez de outras ferramentas e a migrar projetos existentes.
affaan-m/ECC
database-migrations
Ajuda seu agente a fazer mudanças seguras em bancos de dados. Ele garante que as alterações possam ser desfeitas e minimiza o tempo de inatividade.
affaan-m/ECC
deployment-patterns
Configura fluxos de implantação e CI/CD, containerização e estratégias de rollback para garantir lançamentos seguros.
affaan-m/ECC