From dfd6eca760c44a9ee7d2129d5e37b12eae08a5be Mon Sep 17 00:00:00 2001 From: Dmitry Dementev Date: Wed, 10 Dec 2025 23:04:45 +0300 Subject: [PATCH] =?UTF-8?q?=D0=A3=D0=B4=D0=BE=D0=B1=D0=BD=D0=B0=D1=8F=20?= =?UTF-8?q?=D0=BA=D0=BE=D0=BC=D0=B0=D0=BD=D0=B4=D0=B0=20=D0=BE=D1=81=D1=82?= =?UTF-8?q?=D0=B0=D0=BD=D0=BE=D0=B2=D0=BA=D0=B8=20=D1=81=D1=82=D0=B5=D0=BD?= =?UTF-8?q?=D0=B4=D0=B0=20=D0=B1=D0=B5=D0=B7=20=D1=83=D0=B4=D0=B0=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- AGENTS.md | 4 +++- Makefile | 7 ++++++- README.md | 4 +++- TESTING.md | 6 +++--- 4 files changed, 15 insertions(+), 6 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index 1b9795b..314f953 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -12,11 +12,13 @@ ## Команды (основные) - `make up` — поднять весь стек (Airflow инициализируется автоматически при первом старте). +- `make stop` — остановить контейнеры, не трогая данные. +- `make down` — остановить и удалить контейнеры/сети (тома сохраняются). +- `make clean` — полный reset: остановить и удалить контейнеры/сети и тома (все данные будут потеряны). - `make airflow-init` — вручную переинициализировать мета-БД Airflow и создать пользователя (обычно не нужно). - `make logs` — логи webserver и scheduler. - `make ddl-gp` — применить DDL к Greenplum. - `make gp-psql` — открыть `psql` в контейнере Greenplum от `gpadmin`. -- `make down` — остановить и удалить тома (данные будут потеряны). Пример: `make up`, затем открыть `http://localhost:8080`. diff --git a/Makefile b/Makefile index 011928b..e8e0f4d 100644 --- a/Makefile +++ b/Makefile @@ -7,16 +7,21 @@ BOOKINGS_JOBS ?= 1 BOOKINGS_START_DATE ?= 2017-01-01 BOOKINGS_INIT_DAYS ?= 1 -.PHONY: up down airflow-init logs gp-psql ddl-gp \ +.PHONY: up stop down clean airflow-init logs gp-psql ddl-gp \ bookings-clone-demodb bookings-init bookings-psql bookings-generate-day \ dev-setup dev-sync dev-lock test lint fmt clean-venv up: docker compose -f docker-compose.yml up -d +stop: + docker compose -f docker-compose.yml stop + down: docker compose -f docker-compose.yml down -v +clean: down + airflow-init: docker compose -f docker-compose.yml run --rm airflow-init diff --git a/README.md b/README.md index 2aa1d9a..a18d57b 100644 --- a/README.md +++ b/README.md @@ -191,7 +191,9 @@ uv run black --check airflow tests ```bash # Основные команды make up # Запустить весь стенд (Airflow инициализируется автоматически при первом старте) -make down # Остановить и удалить данные +make stop # Остановить контейнеры, не трогая данные +make down # Остановить и удалить контейнеры/сети (volumes сохраняются) +make clean # Полный reset: остановить и удалить контейнеры/сети и тома (данные будут потеряны) make airflow-init # Ручной запуск инициализации Airflow (обычно не нужен) make ddl-gp # Применить DDL к Greenplum вручную make gp-psql # Подключиться к Greenplum через psql diff --git a/TESTING.md b/TESTING.md index 24460f4..5b793ef 100644 --- a/TESTING.md +++ b/TESTING.md @@ -55,9 +55,9 @@ - **PXF и демобаза bookings** (после настройки PXF и выполнения `make ddl-gp`): временно остановить `bookings-db` (`docker compose stop bookings-db`) и попробовать выполнить `SELECT COUNT(*) FROM public.ext_bookings_bookings;` в `make gp-psql` — ожидается ошибка подключения. Затем запустить `bookings-db` (`docker compose start bookings-db`) и убедиться, что запрос снова работает. ## 7. Быстрый reset (если «что-то сломалось») -- Перезапустить стенд с очисткой данных: - - `make down` — остановит контейнеры и удалит тома. - - `make up` — заново поднимет всё и проинициализирует Airflow (через сервис airflow-init). +- Перезапустить стенд: + - Мягкий вариант (сохранить данные): `make stop`, затем `make up`. + - Полный reset (очистить данные в Docker-томах): `make clean`, затем `make up` (Greenplum/Airflow/bookings будут подняты и инициализированы с нуля). - Иногда Greenplum не стартует после «грязных» остановок (из‑за старых внутренних файлов). Лечение: всегда делайте `make down` перед повторным `make up`. ## 8. Снятие метрик и мониторинг