Browse Source

Add heartbeat to websockets streaming API connections

master
Eugen Rochko 7 years ago
parent
commit
3618cc04ff
1 changed files with 7 additions and 0 deletions
  1. +7
    -0
      streaming/index.js

+ 7
- 0
streaming/index.js View File

@@ -215,8 +215,11 @@ const streamHttpEnd = req => (id, listener) => {

// Setup stream output to WebSockets
const streamToWs = (req, ws) => {
const heartbeat = setInterval(() => ws.ping(), 15000)

ws.on('close', () => {
log.verbose(req.requestId, `Ending stream for ${req.accountId}`)
clearInterval(heartbeat)
})

return (event, payload) => {
@@ -234,6 +237,10 @@ const streamWsEnd = ws => (id, listener) => {
ws.on('close', () => {
unsubscribe(id, listener)
})

ws.on('error', e => {
unsubscribe(id, listener)
})
}

app.use(setRequestId)


Loading…
Cancel
Save