Keep workers online during long-running downloads
This commit is contained in:
@@ -0,0 +1,18 @@
|
||||
# ADR 0001: Mantener el heartbeat durante trabajos de descarga
|
||||
|
||||
- Estado: Aceptada
|
||||
- Fecha: 2026-09-04
|
||||
|
||||
## Contexto
|
||||
|
||||
El bot de descarga ejecuta el procesamiento del Excel de forma bloqueante. Durante ese tiempo el ciclo principal no enviaba heartbeats y el servidor declaraba al worker desconectado después de 45 segundos, reclamando un trabajo que todavía seguía activo.
|
||||
|
||||
## Decisión
|
||||
|
||||
El worker enviará un heartbeat cada 10 segundos en un hilo auxiliar durante toda la ejecución del trabajo. Las llamadas de heartbeat, eventos y consulta de cancelación tendrán un timeout de 5 segundos y sus fallos temporales no detendrán la descarga local. El servidor esperará 180 segundos antes de reclamar un trabajo por desconexión.
|
||||
|
||||
## Consecuencias
|
||||
|
||||
- Los trabajos largos no serán reclamados solamente porque el ciclo principal esté ocupado.
|
||||
- Una interrupción breve del gateway no congelará el navegador durante un minuto por cada llamada de control.
|
||||
- Si un worker realmente se apaga, la recuperación automática puede tardar hasta tres minutos.
|
||||
Reference in New Issue
Block a user