Add heartbeat to websockets streaming API connections
parent
1ee4c6415c
commit
6966854f3d
|
@ -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…
Reference in New Issue