Skip to main content
FlowFuse Application Guide

Node-RED Guide

Operating flows

Four operational habits that keep a flow running when the real world pushes back.

Operating flows — start here

A clean flow shape isn't enough to survive production. Four operational habits keep a flow running when the real world pushes back: catch errors on a path you control, pace fast inputs so memory doesn't blow, deploy with the smallest restart, and keep the flow observable.

Design the error path

A Catch node per tab turns a thrown error into a route you control, not a silent stall.

Node-RED runtime · one error path per tab

Happy path

in

msg enters

work

may throw

sink

on success

The error path

Catch

scoped to this tab

log · notify · retry

the error path

  • success
  • error (Catch)

Every flow that talks to the outside world will fail sometimes — a DB is down, a payload is malformed, a request times out. Node-RED routes those failures to a Catch node instead of crashing; you decide what happens next.

Use it when

Any flow with I/O: HTTP calls, DB writes, broker publishes, file access — i.e. almost all of them.

How to do it

Drop a Catch node on the tab (scope it to specific nodes or the whole tab). Throw with node.error(msg, msg) so the message reaches Catch. From Catch, branch to log, notify, or retry — and on an API flow, respond with an error status instead of hanging. Pair with a Status node to surface node health on the canvas.

Watch out

An unscoped tab-wide Catch that re-runs your success/response nodes will double-respond; keep the error path separate from the happy path.