पाठ 2 / 25

Architecture: Scheduler, Executor, Workers, Database

Airflow के मुख्य components के नाम बताएँ और हर एक का काम जानें।

चलने वाले हिस्से

DAG processor आपकी Python files को DAG परिभाषाओं में parse करता है। Scheduler तय करता है कि कौन-से DAG runs और tasks तैयार हैं। Executor उन tasks को workers तक भेजता है जो उन्हें चलाते हैं (स्थानीय रूप से, Celery workers पर या Kubernetes pods के रूप में)। Metadata database (production में PostgreSQL या MySQL) DAG runs, task स्थितियाँ और इतिहास रखता है। Web server / API server UI परोसता है। Airflow 3 ने अलग API server और task execution interface जोड़ा ताकि workers सीधे database की जगह API से बात करें। ब्योरे versions के बीच बदलते हैं, इसलिए अपने version का दस्तावेज़ देखें।

Components एक नज़र में

इसे एक schedule किए run के रास्ते की तरह पढ़ें।

dags/*.py --> DAG processor --parses--> metadata DB (serialized DAGs)
                                 |
Scheduler --creates DAG runs & queues ready tasks--> Executor
                                 |                        |
                                 |             Worker(s) run the task code
                                 v                        |
API server / UI <------ task states, logs <---------------+

DAG parsing तेज़ रखें

Scheduler DAG files को नियमित रूप से दोबारा parse करता है। DAG फ़ाइल के शीर्ष स्तर पर धीमा काम (database calls, API अनुरोध, भारी imports) न रखें; उसे tasks के भीतर करें।

त्वरित जाँच: कौन-सा component तय करता है कि कौन-से tasks चलने को तैयार हैं?

  • Scheduler
  • Browser
  • OS का metadata cache
  • अकेला Python interpreter
Answer

Scheduler — Scheduler schedules और निर्भरताएँ परखता है और executor के लिए tasks queue करता है।