Deployed flow not updating (node-red-contrib-redis ignoring close event after flow deploy)

#1

Hi all,

I created a flow that reads from a redis list using BLPOP. I configured it to read from localhost:6379. It came up with ETIMEOUT because I don’t have a server on the same machine. I then corrected the server address, eg 192.168.1.7:6379 and redeployed. An equivalent python script running at the command line on the same machine as node-red is able to contact the redis server and do what is necessary.

The debug panel still shows repeated errors as the flow attempts to connect to old server config. I can’t get node red to refresh the flow. I tried disabling the flow.

The old version of the flow is still running and I can’t stop it.

How do I actually control nodered? How do I debug this? Why can’t I stop the running flow after deploying a new version of it? Why does the running flow ignore the flow state “disabled”?

I’m at a loss. What am I missing? Is this normal behavior?

thanks

0 Likes

#2

Which redis node module are you using? It sounds like the node isn’t listening for the close event that happens as part of a deploy and is continuing to try to reconnect. If that’s the case, it’s a bug with that node which needs fixing.

Nick

0 Likes

#3

let’s see…

node-red-contrib-redis

0 Likes

#4

Does it recover if you restart node-red?

0 Likes

#5

In which case, you may want to raise an issue against node-red-contrib-redis. My guess is an issue with the node’s close handling - it doesn’t handle the case where the node has not successfully connected so the client object is left trying to continually reconnect with the original details.

0 Likes

#6

restarting does force the issue to resolve, yes.

0 Likes

#7

re: node-red-contrib-redis. Looking at the code, this appears to be the case. I’ll try to log defect.

0 Likes