Skip to content

Start and keep running ​

A flow either runs once and stops, or keeps running and waits for work. The components you place decide which.

What runs when a flow starts ​

When a flow starts, it calls every component whose start or input pin is unconnected and needs no data. A Timer starts its schedule, an Http listener opens its port, a Kafka subscriber connects, and a Try catch or a script with nothing in front of it runs once.

Flows that keep running ​

A flow keeps running while it holds a component that waits for work. These plugins keep it running:

CategoryPlugins
FlowTimer, Fork
WebHttp listener, Web socket listener, Web socket client
EventKafka, MQTT and NATS subscribers and publishers
NetworkTCP server, UDP server
PipesPipe listener
MessagingSms receiver, Ussd server
TextRSS/Atom parser

A flow published as a plugin also keeps running, so it is ready whenever another flow calls it.

Flows that run once ​

A flow without such a component runs its start components, and stops when they return. Use this for one-off jobs: a migration, a load, a test run.

text
Script (runs once) → Sql query → CSV encoder → Write file

To keep such a flow running anyway, for example because a script starts its own background work, switch on Keep alive in the flow configuration.

When a flow starts ​

The start mode in the designer toolbar decides whether the flow starts on its own:

ModeThe flow starts
ManualOnly when someone starts it, or a Start flow component starts it
AutoEvery time the controller starts
DisabledNever

For Auto flows, Modify auto start dependencies picks the flows that must be running first.

Stop a flow ​

Stop a flow in the designer or from the Environment explorer. A flow also stops when a record has nowhere to go: see When nothing matches.

Viaducta documentation