How to increase the timeout of http response and http in nodes in nodered

I am experiencing an issue where the http response node is not sending a response if the request goes beyond 2 minutes. For http request node we can increase this timeout by editing the settings.js file. Similarly, how can we increase the time out for http in /http response nodes. Any leads here will be appreciated.

Regards,
Arun

Just for verification, the two minutes is a bit of a magical border. Have you checked if the client connecting to the http-in/response flow is not dropping the connection? Two minutes is a common default setting for a lot of clients, hence the question. Furthermore, are you seeing somewhere in the node-red log that the connection to the client gets dropped? You can recognise it as an ETIMEDOUT error showing up in the log during the attempted connecting.

Thanks for your response. I ensured that the client is not dropping the connection. I also confirmed it by placing a delay node between the http in and response node. If the delay is greater than 2 minutes it fails. I grepped my logs for ETIMEDOUT but couldn't find any.

Regards,
Arun

That is a VERY long response time for a web request. Perhaps it would be better to explain why you need such a long response time?

At a guess, I'd say you'd be better off with a streamed response (which I don't think that Node-RED has available natively?) or by using websockets so that you can keep the connection live for however long you might want.

1 Like

Sorry for the delay. I was on holidays. I am calling a machine learning model using node red and at times for model creation it may take time. HTTP request node in node red already supports this but I don't see this for in/response nodes.

Regards,
Arun

Really then, the model run process should issue something when it completes, it isn't realistic to keep an HTTP connection open for an indefinite amount of time, that's not really how they work I don't think.

2 Likes