I have following code written in nodejs using http
module.
It's basically listens to event stream (so the connection is permanent).
http.get(EVENT_STREAM_ADDRESS, res => {
res.on('data', (buf) => {
const str = Buffer.from(buf).toString();
console.log(str);
});
res.on('error', err => console.log("err: ", err));
});
If I run the above code on my Mac it works fine and I get data logged to console after many hours.
But in the Docker, which has pretty basic configuration it stops receiving data after some time without any error. Other endpoints in the app are working fine (eg. Express endpoints) but this one http.get listener
is just hanging.
Dockerfile
FROM node:current-alpine
WORKDIR /app
EXPOSE 4000
CMD npm install && npm run start
Do you have any ideas how I can overcome this?
It's really hard to debug as to reproduce the situation I sometimes need to wait a few hours.
Cheers