From fcc27bdf566c51baea2f8b4e0c2bc1177063634e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jes=C3=BAs=20Espino?= Date: Tue, 14 Jun 2016 17:09:06 +0200 Subject: [PATCH] Reconnect on websocket close or error --- app/coffee/modules/events.coffee | 5 ++++- conf/conf.example.json | 1 + 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/app/coffee/modules/events.coffee b/app/coffee/modules/events.coffee index ef0bb491..d43eb12f 100644 --- a/app/coffee/modules/events.coffee +++ b/app/coffee/modules/events.coffee @@ -96,6 +96,7 @@ class EventsService maxMissedHeartbeats = @config.get("eventsMaxMissedHeartbeats", 5) heartbeatIntervalTime = @config.get("eventsHeartbeatIntervalTime", 60000) + reconnectTryInterval = @config.get("eventsReconnectTryInterval", 10000) @.missedHeartbeats = 0 @.heartbeatInterval = setInterval(() => @@ -108,7 +109,7 @@ class EventsService @log.debug("HeartBeat send PING") catch e @log.error("HeartBeat error: " + e.message) - @.stopHeartBeatMessages() + @.setupConnection() , heartbeatIntervalTime) @log.debug("HeartBeat enabled") @@ -228,11 +229,13 @@ class EventsService onError: (error) -> @log.error("WebSocket error: #{error}") @.error = true + setTimeout(@.setupConnection, @.reconnectTryInterval) onClose: -> @log.debug("WebSocket closed.") @.connected = false @.stopHeartBeatMessages() + setTimeout(@.setupConnection, @.reconnectTryInterval) class EventsProvider diff --git a/conf/conf.example.json b/conf/conf.example.json index 7868fbf1..325001cb 100644 --- a/conf/conf.example.json +++ b/conf/conf.example.json @@ -3,6 +3,7 @@ "eventsUrl": null, "eventsMaxMissedHeartbeats": 5, "eventsHeartbeatIntervalTime": 60000, + "eventsReconnectTryInterval": 10000, "debug": true, "debugInfo": false, "defaultLanguage": "en",