Use socket.io and configure it to do polling over a 5 minute interval as the websocket fallback.

Seriously websockets are awesome, use them if possible and fallback to something that has an acceptable server load.

> because worst case this thing is going to keep the http connections open for an extended duration

If this brings your web server to it's knees then your web server is a shit one. Get one that can handle open sockets and scale.