Надёжный healthcheck ClickHouse и пример запроса в DEPLOY
CI / lint-test (push) Successful in 16s Details
CI / build-push (push) Successful in 30s Details

- healthcheck ClickHouse переведён на wget по http://127.0.0.1:8123/ping без зависимости от переменных окружения
- wget подтверждён в образе clickhouse-server (используется его entrypoint)
- пример запроса к событиям в DEPLOY выполняется от пользователя контейнера, а не от хостовой оболочки
- версия 0.3.6
This commit is contained in:
MpakobecEx 2026-10-16 15:31:21 +05:00
parent cd9004c10f
commit a0fa223eaa
6 changed files with 7 additions and 15 deletions

View File

@ -69,8 +69,8 @@ ClickHouse наружу **не публикуется**: только loopback
make ch E=test # clickhouse-client контура
# пример: события за сегодня по типам
docker compose -p test --env-file env/test.env -f docker-compose.prod.yml exec -T clickhouse \
clickhouse-client --user "$CLICKHOUSE_USER" --password "$CLICKHOUSE_PASSWORD" \
--query "SELECT event_type, count() FROM analytics.events WHERE toDate(event_time) = today() GROUP BY event_type"
sh -lc 'clickhouse-client --user "$CLICKHOUSE_USER" --password "$CLICKHOUSE_PASSWORD" \
--query "SELECT event_type, count() FROM analytics.events WHERE toDate(event_time) = today() GROUP BY event_type"'
```
Если ClickHouse недоступен, бот продолжает работать: события уходят в stdout (WARNING),

View File

@ -104,7 +104,7 @@ make backup E=test # ./scripts/clickhouse_backup.sh test
## Версионирование
- Единый источник версии — `common/version.py` (`__version__`), текущая — `0.3.5`.
- Единый источник версии — `common/version.py` (`__version__`), текущая — `0.3.6`.
- Схема — SemVer-подобная (`MAJOR.MINOR.PATCH`); git-тег = `v` + версия (`v0.1`).
- Docker-образы тегируются версией (Блок 2), события ClickHouse получают `bot_version` (Блок 3).
- Выпуск: изменить `common/version.py` → коммит → аннотированный тег `vX.Y` → `git push --tags`.

View File

@ -7,4 +7,4 @@
from __future__ import annotations
__version__ = "0.3.5"
__version__ = "0.3.6"

View File

@ -85,11 +85,7 @@ services:
soft: 262144
hard: 262144
healthcheck:
test:
- CMD-SHELL
- >-
clickhouse-client --user "$${CLICKHOUSE_USER}" --password "$${CLICKHOUSE_PASSWORD}"
--query "SELECT 1" > /dev/null || exit 1
test: ["CMD-SHELL", "wget --spider -q -T 5 http://127.0.0.1:8123/ping || exit 1"]
interval: 15s
timeout: 10s
retries: 10

View File

@ -86,11 +86,7 @@ services:
soft: 262144
hard: 262144
healthcheck:
test:
- CMD-SHELL
- >-
clickhouse-client --user "$${CLICKHOUSE_USER}" --password "$${CLICKHOUSE_PASSWORD}"
--query "SELECT 1" > /dev/null || exit 1
test: ["CMD-SHELL", "wget --spider -q -T 5 http://127.0.0.1:8123/ping || exit 1"]
interval: 15s
timeout: 10s
retries: 10

View File

@ -7,4 +7,4 @@ from common import __version__
def test_version_is_set():
assert __version__
assert __version__ == "0.3.5"
assert __version__ == "0.3.6"