feat(airflow): добавлен пульт управления генератором

- Зачем:
  - нужен основной ручной интерфейс стенда для backfill/import/check без консольной матрицы переменных.
- Что:
  - добавлен DAG generator_control с параметрами Airflow, ветвлением операций и ожиданием ETL.
  - вынесена общая логика запуска и предпроверок генератора для Airflow.
  - обновлены compose-настройки, зависимости, тесты и документация по пульту.
- Проверка:
  - uv run --with pytest --with-requirements generator/requirements.txt pytest generator/tests -q.
  - docker compose config --quiet.
This commit is contained in:
2026-07-04 21:06:30 +03:00
parent c672ed0329
commit dd4af822d2
12 changed files with 841 additions and 13 deletions
+6
View File
@@ -10,6 +10,7 @@ x-airflow-env: &airflow-default-env
AIRFLOW__METRICS__STATSD_HOST: "statsd-exporter"
AIRFLOW__METRICS__STATSD_PORT: "8125"
AIRFLOW__METRICS__STATSD_PREFIX: "airflow"
PYTHONPATH: /opt/airflow/generator_src
services:
@@ -115,6 +116,7 @@ services:
- "8080:8080"
volumes:
- ./airflow/dags:/opt/airflow/dags
- ./generator/src:/opt/airflow/generator_src:ro
- ./sql:/opt/airflow/sql:ro
- ./data:/opt/airflow/data
networks:
@@ -140,6 +142,7 @@ services:
"
volumes:
- ./airflow/dags:/opt/airflow/dags
- ./generator/src:/opt/airflow/generator_src:ro
- ./sql:/opt/airflow/sql:ro
- ./data:/opt/airflow/data
networks:
@@ -162,6 +165,7 @@ services:
<<: *airflow-default-env
volumes:
- ./airflow/dags:/opt/airflow/dags
- ./generator/src:/opt/airflow/generator_src:ro
- ./sql:/opt/airflow/sql:ro
- ./data:/opt/airflow/data
networks:
@@ -286,6 +290,8 @@ services:
# Генератор событий (автономный стриминг в Kafka)
generator:
profiles:
- live-generator
build:
context: ./generator
dockerfile: Dockerfile