feat(generator): добавлена популяция пользователей
- Зачем: - steady-stream генератору нужны устойчивые пользователи и возвраты между визитами, чтобы поток был похож на живую модель поведения. - Что: - добавлена ограниченная популяция с кулдауном возврата, ротацией новых пользователей и защитой от второго активного визита. - UUID переведены на единый ГПСЧ генератора, а завершение визита считается по запланированному последнему событию. - добавлены регрессионные тесты и обновлена документация генератора. - Проверка: - uv run --with-requirements generator/requirements.txt pytest generator/tests -q
This commit is contained in:
+6
-1
@@ -52,6 +52,9 @@ generator-service -> Kafka topics -> (потребители отдельно)
|
||||
строго растущие запланированные `event_timestamp`.
|
||||
- Тиковый слой хранит активные визиты между вызовами и выпускает только события,
|
||||
у которых наступил `event_timestamp`; завершённые визиты удаляются из памяти.
|
||||
- Тиковый слой ведёт ограниченную популяцию пользователей: один
|
||||
`user_domain_id` может вернуться в новом `click_id` после кулдауна, а при
|
||||
переполнении вытесняется давно неактивный пользователь.
|
||||
- Сохраняем связи `event_id <-> location`, `click_id <-> device/geo`.
|
||||
|
||||
## Конфигурация (env)
|
||||
@@ -66,7 +69,9 @@ generator-service -> Kafka topics -> (потребители отдельно)
|
||||
| `GEN_MAX_EVENTS_PER_TICK` | Максимум событий за тик | `50` |
|
||||
| `GEN_MAX_SESSION_EVENTS` | Потолок длины одного визита, защита от петель | `30` |
|
||||
| `GEN_MAX_ACTIVE_SESSIONS` | Потолок одновременных активных визитов | `200` |
|
||||
| `GEN_POPULATION_MAX` | Будущий потолок популяции пользователей; сейчас нужен для валидации активных визитов | `300` |
|
||||
| `GEN_POPULATION_MAX` | Потолок активной популяции пользователей | `300` |
|
||||
| `GEN_P_NEW_USER` | Вероятность отдать новый визит новому пользователю | `0.15` |
|
||||
| `GEN_MIN_RETURN_MINUTES` | Минимальная пауза перед возвратом пользователя | `30` |
|
||||
| `GEN_DATA_DIR` | Путь к JSONL файлам | `/data` |
|
||||
| `GEN_SEED` | Сид для воспроизводимости | — |
|
||||
| `GEN_ENABLED` | Включить генерацию | `true` |
|
||||
|
||||
Reference in New Issue
Block a user