Actualizar backend/services.py
This commit is contained in:
@@ -2721,13 +2721,20 @@
|
|||||||
|
|
||||||
|
|
||||||
def refrescar_todo():
|
def refrescar_todo():
|
||||||
|
"""Refresco de los 30 min SIN dejar la caché vacía (stale-while-revalidate).
|
||||||
|
NO se vacía nada al inicio: se recalcula TODO con datos frescos de las bases
|
||||||
|
en 2º plano (modo 'forzar'), y cada entrada se reemplaza recién cuando su
|
||||||
|
valor nuevo está listo. Mientras dura la recarga, el usuario sigue viendo los
|
||||||
|
datos viejos; al terminar, el cambio es un solo parpadeo. NO pantalla de carga."""
|
||||||
from cache_manager import set_forzar
|
from cache_manager import set_forzar
|
||||||
from data_manager_v2 import invalidar_campanias_cache
|
from data_manager_v2 import invalidar_campanias_cache
|
||||||
invalidar_campanias_cache() # tambien las campañas (cache aparte)
|
# Las campañas (cache aparte de data_manager) sí se invalidan: son livianas y
|
||||||
set_forzar(True) # recalcula y sobrescribe (no lee cache viejo)
|
# las relee la primera consulta forzada de abajo, sin costo perceptible.
|
||||||
|
invalidar_campanias_cache()
|
||||||
|
set_forzar(True) # este hilo recalcula y sobrescribe (no lee cache viejo)
|
||||||
try:
|
try:
|
||||||
precargar_todo() # leads (mes actual/anterior)
|
precargar_todo() # leads (mes actual/anterior) -> reemplaza al terminar
|
||||||
precargar_otros_general() # cartera + Otros General
|
precargar_otros_general() # cartera + Otros General -> reemplaza al terminar
|
||||||
finally:
|
finally:
|
||||||
set_forzar(False)
|
set_forzar(False) # vuelve a modo normal para no afectar otras llamadas
|
||||||
_marcar_actualizacion()
|
_marcar_actualizacion()
|
||||||
|
|||||||
Reference in New Issue
Block a user