feat(generator): добавлено сохранение стейта между рестартами
- Зачем: - генератор должен продолжать работу с места остановки после падения/рестарта - нужно сохранять continuity тиков и состояние RNG для воспроизводимости - Что: - добавлен GeneratorState dataclass (tick, rng_state, last_batch_id, timestamp) - добавлен KafkaStateManager для работы с compact topic generator_state - топик создаётся с cleanup.policy=compact (хранится только последнее значение) - интеграция в GeneratorService: восстановление при старте, сохранение после тика - новые env: GEN_STATE_ENABLED (по умолчанию true), GEN_STATE_RESET (по умолчанию false) - добавлены тесты test_state.py - обновлена документация README.md - Проверка: - make generator-test (45 тестов проходят) - docker compose restart generator - продолжает с сохранённого tick - GEN_STATE_RESET=true - начинает с tick=1
This commit is contained in:
@@ -300,6 +300,9 @@ services:
|
||||
GEN_DATA_DIR: /data
|
||||
GEN_ENABLED: "true"
|
||||
GEN_METRICS_PORT: "9109"
|
||||
# State management (сохранение состояния между рестартами)
|
||||
GEN_STATE_ENABLED: "true"
|
||||
GEN_STATE_RESET: "false"
|
||||
# PYTHONUNBUFFERED для сразу видеть логи
|
||||
PYTHONUNBUFFERED: "1"
|
||||
ports:
|
||||
|
||||
Reference in New Issue
Block a user