Reconnect on websocket close or error

stable
Jesús Espino 2016-06-14 17:09:06 +02:00 committed by Juanfran
parent 8dcb79a033
commit fcc27bdf56
2 changed files with 5 additions and 1 deletions

View File

@ -96,6 +96,7 @@ class EventsService
maxMissedHeartbeats = @config.get("eventsMaxMissedHeartbeats", 5) maxMissedHeartbeats = @config.get("eventsMaxMissedHeartbeats", 5)
heartbeatIntervalTime = @config.get("eventsHeartbeatIntervalTime", 60000) heartbeatIntervalTime = @config.get("eventsHeartbeatIntervalTime", 60000)
reconnectTryInterval = @config.get("eventsReconnectTryInterval", 10000)
@.missedHeartbeats = 0 @.missedHeartbeats = 0
@.heartbeatInterval = setInterval(() => @.heartbeatInterval = setInterval(() =>
@ -108,7 +109,7 @@ class EventsService
@log.debug("HeartBeat send PING") @log.debug("HeartBeat send PING")
catch e catch e
@log.error("HeartBeat error: " + e.message) @log.error("HeartBeat error: " + e.message)
@.stopHeartBeatMessages() @.setupConnection()
, heartbeatIntervalTime) , heartbeatIntervalTime)
@log.debug("HeartBeat enabled") @log.debug("HeartBeat enabled")
@ -228,11 +229,13 @@ class EventsService
onError: (error) -> onError: (error) ->
@log.error("WebSocket error: #{error}") @log.error("WebSocket error: #{error}")
@.error = true @.error = true
setTimeout(@.setupConnection, @.reconnectTryInterval)
onClose: -> onClose: ->
@log.debug("WebSocket closed.") @log.debug("WebSocket closed.")
@.connected = false @.connected = false
@.stopHeartBeatMessages() @.stopHeartBeatMessages()
setTimeout(@.setupConnection, @.reconnectTryInterval)
class EventsProvider class EventsProvider

View File

@ -3,6 +3,7 @@
"eventsUrl": null, "eventsUrl": null,
"eventsMaxMissedHeartbeats": 5, "eventsMaxMissedHeartbeats": 5,
"eventsHeartbeatIntervalTime": 60000, "eventsHeartbeatIntervalTime": 60000,
"eventsReconnectTryInterval": 10000,
"debug": true, "debug": true,
"debugInfo": false, "debugInfo": false,
"defaultLanguage": "en", "defaultLanguage": "en",