Start Node-RED with stopped flows


#1

Hi everyone,

I'd like to know what you'd think about having a way to start Node-RED without actually running the flows. This would be interesting in cases like:

  • you have messed up with the flow and wants to fix
  • you have a misbehaving node and wants to remove it or fix its configuration
  • you want to check how is the flow programmed without actually running it (in case the flow connects to other systems or performs changes to the file system)

The trigger for it could be a flag in the command line, an environment variable, or even a setting in the settings file (although this last option could be a bit confusing). The flow editor could then show a dialog in this case, similar to the one shown when there's a missing node. It would then start running by manually deploying it again.

These are only some ideas, and in the case you think it's a good idea, I could contribute with the code for that.


#2

Thanks for the suggestion.

Safe-mode has already been added to the dev branch for the 0.20 release - https://github.com/node-red/node-red/commit/d887ab126bf1a33730ea83cf79d884bc1bb54d25


#3

Oh, so sorry, I've missed that. Just checked out here and on the old google groups. Shame on me!

I think the only thing that I'd suggest/improve is the ability to enable the safe mode (great name btw) through environment variables. We mostly run node-red as a SystemD service, and this would be then very handy. Actually, this would be interesting for other flags too, like --verbose... :slight_smile:


#4

You will be able to do that via your settings file (and can already for the verbose option):

{
    "verbose": process.env.MAKE_NODE_RED_VERBOSE,
    "safeMode": process.env.ENABLE_NODE_RED_SAFE_MODE_PLEASE_AND_THANK_YOU
}

Nick


#5

What would be the benefit of running node-RED in verbose mode, against looking at node-red-log?


#6

Verbose mode dates back to before we had different levels of logging. Some nodes will only log some things if verbose mode is enabled.

Today it would be more appropriate to log using node.debug() or node.trace().