Add historical snapshot generation runner
This commit is contained in:
@@ -0,0 +1,59 @@
|
||||
# TASK-043-historical-snapshots-generation-runner
|
||||
|
||||
## Goal
|
||||
Implementar un generador/runner de snapshots históricos que calcule y refresque periódicamente resumen, tops y partidas recientes para cada servidor de la comunidad.
|
||||
|
||||
## Context
|
||||
Una vez existe almacenamiento de snapshots, hace falta una capa operativa que genere esos snapshots a partir del histórico persistido. El objetivo es que la página histórica no dependa de cálculos pesados en tiempo real, sino de datos precalculados actualizados periódicamente.
|
||||
|
||||
## Steps
|
||||
1. Revisar los agregados históricos actuales y la nueva capa de snapshots.
|
||||
2. Implementar un runner o flujo de generación que produzca snapshots para cada servidor.
|
||||
3. Generar, como mínimo:
|
||||
- resumen de servidor
|
||||
- top kills 7d
|
||||
- top muertes 7d
|
||||
- top partidas con más de 100 kills por jugador 7d
|
||||
- top puntos de soporte 7d
|
||||
- partidas recientes
|
||||
4. Añadir metadatos de generación y estado.
|
||||
5. Definir una frecuencia razonable de refresco, por ejemplo 10 o 15 minutos.
|
||||
6. Documentar cómo ejecutar el runner manualmente y cómo operarlo de forma periódica.
|
||||
7. No migrar todavía toda la UI en esta task.
|
||||
8. Al completar la implementación:
|
||||
- dejar el repositorio consistente
|
||||
- hacer commit
|
||||
- hacer push al remoto si el entorno lo permite
|
||||
|
||||
## Files to Read First
|
||||
- AGENTS.md
|
||||
- backend/README.md
|
||||
- backend/app/config.py
|
||||
- backend/app/historical_storage.py
|
||||
- backend/app/historical_snapshots.py
|
||||
- backend/app/historical_snapshot_storage.py
|
||||
- backend/app/historical_runner.py
|
||||
|
||||
## Expected Files to Modify
|
||||
- backend/README.md
|
||||
- backend/app/config.py
|
||||
- backend/app/historical_runner.py
|
||||
- backend/app/historical_snapshots.py
|
||||
- backend/app/historical_snapshot_storage.py
|
||||
- opcionalmente nuevos módulos auxiliares de generación
|
||||
|
||||
## Constraints
|
||||
- No romper el live status.
|
||||
- No crear UI nueva en esta task.
|
||||
- No hacer cambios destructivos.
|
||||
- Mantener el trabajo centrado en generación periódica de snapshots.
|
||||
|
||||
## Validation
|
||||
- Existe un runner que genera snapshots de resumen, tops y partidas recientes.
|
||||
- Los snapshots se pueden refrescar periódicamente.
|
||||
- La documentación explica cómo ejecutarlo.
|
||||
- Los cambios quedan committeados y se hace push al remoto si el entorno lo permite.
|
||||
|
||||
## Change Budget
|
||||
- Preferir menos de 6 archivos modificados o creados.
|
||||
- Preferir menos de 240 líneas cambiadas.
|
||||
Reference in New Issue
Block a user