Closed soberto closed 11 months ago
@soberto cómo se te ocurre que se puede implementar esto? De la forma en que lo armé, se vuelve a abrir la conexión si es que se cierra. Pero no vi algo para setear un heartbeat en la librería websocket. Se me escapa un poco y necesitaría ayuda =)
Buenas @augustohassel !
Yo para solucionar lo de los pings utilizo esto:
i <- 0
ws_alive = function(interval = 30) {
#i <<- i + 1
if(i <= 72){
# print("envío de mensajes para mantener viva la conexión") #opcional para ver notificaciones de envío....
walk(
.x = names(rRofexWebsockets),
.f = ~ get(envir = rRofexWebsockets, .x)$send(charToRaw("ping"))
)
later::later(ws_alive, interval)
}
}
ws_alive()
Básicamente busca en el entorno donde por default se almacenan los WS de rRofex y envía el ping.
Está sucio con un bucle pero la idea se ve.
Requiere de este paquete:
library(later)
Saludos!
ESCENARIO
Realizando pruebas en entorno remarkets, se observa desconexión de los conectores WS.
Fue sugerido por interlocución con gente de MR realizar pings o envair mensajes tipo heartbits para evitar esto, consiguientemente sería útil contar con dicha funcionalidad en al librería, y que se cuente con una propiedad que parametrice cada cuánto se envía el mensaje/ping correspondiente para mantener la conexión alive.