Browse Source

Add heartbeat to websockets streaming API connections

closed-social-glitch-2
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