本文へ移動
cccskills
無料GitHub で公開

airflow-best-practices

Apache Airflow best practices for DAG authoring, testing, and production deployment

インストール方法を見る

含まれるファイル(1)

  • SKILL.md3.3 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

Apache Airflow Best Practices (3.2.0)

DAG Authoring

Imports (Airflow 3.x)

  • Use from airflow.sdk import DAG, task, Asset — the stable public API
  • Legacy from airflow.models import DAG and from airflow.decorators import task are deprecated

Top-Level Code (CRITICAL)

  • Avoid heavy computation at module level (executed on every DAG parse)
  • Minimize imports at module level — lazy-load inside @task functions
  • Never call APIs, query databases, or access Variables at top level
  • If Variables needed at top level, enable experimental cache with TTL

TaskFlow API (Default Pattern)

  • Use @task decorator for all Python tasks (preferred over classic operators)
  • XCom serialization is automatic — return values become XCom
  • Use @task.branch for branching logic
  • Use @task.sensor for sensor tasks

Dynamic Task Mapping

  • Use task.expand() for runtime-determined task instances
  • Combine with .partial() for fixed kwargs
  • Map over lists, dicts, or XCom outputs from upstream tasks

Scheduling

  • Use cron expressions or timetables for schedule parameter
  • Set catchup=False for most DAGs
  • Use data-aware scheduling with Asset (replaces Dataset) for dependencies
  • Configure SLA monitoring

Task Dependencies

  • Use >> / << operators for clarity
  • Group related tasks with TaskGroup
  • Avoid deep nesting (max 3 levels)

Testing

Local Testing

  • Use dag.test() in if __name__ == "__main__": block for IDE debugging
  • Runs all tasks in single serialized process without executor

Unit Tests

  • Test DAG import without errors
  • Detect cycles in dependencies
  • Mock external connections
  • Test task logic independently

Integration Tests

  • Use Airflow test mode
  • Validate end-to-end workflows
  • Test with sample data

Production Deployment

Performance

  • Lazy-load heavy libraries inside @task functions
  • Use connection pooling
  • Minimize DAG parse time (target < 30s for all DAGs)
  • Enable parallelism appropriately

Reliability

  • Set appropriate retries and retry_delay
  • Use SLA callbacks for monitoring
  • Implement proper error handling with on_failure_callback
  • Log important events

Migration: 2.x → 3.x

Deprecated (Remove or Replace)

DeprecatedReplacement
from airflow.models import DAGfrom airflow.sdk import DAG
from airflow.decorators import taskfrom airflow.sdk import task
DatasetAsset
execution_date in contextdag_run.logical_date
conf in task contextRemoved — use Variables or params

Architecture Changes

  • AIP-72: Task Execution Interface — tasks run in isolated subprocesses via Execution API Server
  • AIP-44: Internal API — components communicate via API, not direct DB access
  • New UI: React-based web interface (replaces Flask-based UI)

References

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

Pre-action boundary checking — validates agent tool calls against declared capabilities and task contracts

日本語の概要は準備中です。原文の説明を表示しています。

baekenough/second-brain152026年10月8日 更新

Auto-detect project context and optimize harness — deactivate unused agents/skills, suggest missing experts, generate project profile

日本語の概要は準備中です。原文の説明を表示しています。

baekenough/second-brain152026年10月8日 更新

Adversarial code review using attacker mindset — trust boundary, attack surface, business logic, and defense evaluation

日本語の概要は準備中です。原文の説明を表示しています。

baekenough/second-brain152026年10月8日 更新

Alembic migration patterns for naming conventions, safety checks, expand-contract, env.py configuration, and CI integration

日本語の概要は準備中です。原文の説明を表示しています。

baekenough/second-brain152026年10月8日 更新

Pre-routing ambiguity analysis — scores request clarity and asks clarifying questions when needed (inspired by ouroboros)

日本語の概要は準備中です。原文の説明を表示しています。

baekenough/second-brain152026年10月8日 更新

AWS patterns from Well-Architected Framework

日本語の概要は準備中です。原文の説明を表示しています。

baekenough/second-brain152026年10月8日 更新

baekenough のスキルをすべて見る

このスキルの問題を報告する