fix(generator): сохранена фактура визита при восстановлении
- Зачем: - визит после восстановления не должен менять браузер и источники перехода внутри одного click_id. - Что: - добавлен base_click_id в state v3 для восстановления донора фактуры. - исправлено восстановление timestamp offset без потери микросекунд. - расширены тесты и стыковая проверка browser/source и device/os/geo. - Проверка: - uv run --with-requirements generator/requirements.txt pytest generator/tests -q. - bash -n scripts/check_generated_analytics.sh. - git diff --cached --check.
This commit is contained in:
+8
-1
@@ -147,7 +147,7 @@ make generator-logs
|
||||
| `GEN_RUN_MODE` | Режим генератора | `live` |
|
||||
| `GEN_LAUNCH_PROFILE` | Имя профиля запуска для логов | `ci` |
|
||||
| `GEN_STARTUP_HISTORY_ARTIFACT` | JSON-файл для экспорта стартовой истории в режиме `backfill` | пусто |
|
||||
| `GEN_STATE_ENABLED` | Сохранять state v2 между рестартами | `true` |
|
||||
| `GEN_STATE_ENABLED` | Сохранять state v3 между рестартами | `true` |
|
||||
| `GEN_STATE_RESET` | Сбросить state при старте | `false` |
|
||||
|
||||
В `docker-compose.yml` через окружение переопределяются демо-параметры модели и
|
||||
@@ -177,6 +177,13 @@ CI короткая повторная проверка после уже гот
|
||||
make generated-history-check
|
||||
```
|
||||
|
||||
После live-продолжения из `T_end` эта же команда автоматически включает проверку
|
||||
стыка. Для принудительной проверки:
|
||||
|
||||
```bash
|
||||
CHECK_LIVE_SEAM=1 GEN_LIVE_CHECK_MINUTES=10 make generated-history-check
|
||||
```
|
||||
|
||||
По умолчанию команда использует быстрый профиль `ci`: 6 часов модельного
|
||||
времени. Историю на 2 суток с суточной волной можно получить одной командой.
|
||||
В live-продолжении `daily-wave` идёт с ×60 и тикает раз в секунду, поэтому
|
||||
|
||||
@@ -174,6 +174,11 @@ state-записей остаётся прежним контрактом воз
|
||||
- `wall_timestamp` — настенная UTC-метка, когда это состояние было сохранено;
|
||||
- `model_time_speed`, `model_timezone` и `model_t0`.
|
||||
|
||||
State v3 также хранит для каждого активного визита `base_click_id` — click_id
|
||||
донора браузерной и source-фактуры из статического сида. При восстановлении
|
||||
активный визит берёт per-event поля от этого донора; неизвестный донор считается
|
||||
битым state, а не поводом выбрать запасную фактуру.
|
||||
|
||||
При восстановлении живого режима после сбоя модельная точка считается так:
|
||||
|
||||
```text
|
||||
|
||||
Reference in New Issue
Block a user