fix(generator): устранён флаки runtime-гейта стыка backfill/live
- Зачем:
- гейт generated-history-runtime-check падал через раз: docker compose
stop убивал генератор SIGKILL'ом посреди batch (SIGTERM не ловился),
непарные строки маскировались под «смену фактуры» (задача 20).
- Что:
- генератор грациозно завершается по SIGTERM: текущий batch дописывается
во все топики с flush и записью history; compose даёт минуту grace.
- runtime-check ждёт пересекающий визит в STG (предусловие проверки),
seam-check получил precheck непарных live-строк; в STG-запросах
закреплён 'UTC' против сдвига наивных меток в поясе сервера.
- контрактные тесты усилены, задача 20 закрыта, блокер задачи 13 снят.
- Проверка:
- тесты: 192 passed (generator), 21 passed (контракты);
- стенд: 3 подряд зелёных make generated-history-runtime-check;
красный сценарий (искажение referer_url пересекающего визита) валит
гейт прежним сообщением при нулевых непарных счётчиках.
This commit is contained in:
+6
-3
@@ -220,9 +220,12 @@ CHECK_LIVE_SEAM=1 GEN_LIVE_CHECK_MINUTES=10 make generated-history-check
|
||||
make generated-history-runtime-check
|
||||
```
|
||||
|
||||
По умолчанию он берёт профиль `daily-wave`, но сжимает историю до `1h`, ждёт
|
||||
новые STG-строки от live до 25 секунд, делает второй batch и проверяет стык с
|
||||
`CHECK_LIVE_SEAM=1`.
|
||||
По умолчанию он берёт профиль `daily-wave`, но сжимает историю до `1h` и до
|
||||
25 секунд ждёт в STG визит с browser-событиями по обе стороны границы. Затем
|
||||
он делает второй batch и проверяет стык с `CHECK_LIVE_SEAM=1`.
|
||||
При остановке generator получает SIGTERM и завершает текущий пакет. Параметр
|
||||
`stop_grace_period: 1m` даёт время дописать четыре топика, сбросить буферы и
|
||||
записать историю пакета до принудительной остановки контейнера.
|
||||
Если машина медленная, можно увеличить только ожидания:
|
||||
|
||||
```bash
|
||||
|
||||
Reference in New Issue
Block a user