Skip to main content
Version: 3.0 (next)
Wait Node interface

Wait node

Wait Node

Overview​

The Wait Node suspends pipeline execution for a configurable duration and then forwards the incoming payload. It is ideal for throttling downstream systems, sequencing dependent actions, or adding short-lived timers without leaving the Maestro orchestration environment. The node keeps lightweight state throughout the delay and appends timing metadata to the outbound packet so operators can audit intentional pauses.


Core Functionality​

1. Flexible Duration Input​

  • Accepts literal durations such as 1000ms or 5s, with a range of 1 ms to 60 s.
  • Supports Maestro expressions (for example {{ $node["Config"].result.waitTime }}) that resolve at runtime, enabling dynamic delays per execution.
  • Expression syntax is validated during configuration; runtime values are re-parsed and clamped to the 60-second ceiling.

2. Stateful Waiting​

  • Manages the process by keeping track of how long it should wait, the exact moment the wait started, and whether it’s still waiting or has already finished.
  • Honors cancellations: when a pipeline run is stopped, the wait ends immediately and propagates a cancellation error.
  • Resetting or reloading the node clears stored state, ensuring the next execution starts fresh.

3. Standard Settings Compatibility​

  • Respects the shared retry, error handling, and documentation settings used across Maestro nodes.
  • The node is set to process incoming data immediately by default, which is the preferred sync mode when you’re using waits.

Configuration Reference​

Parameters​

ParameterTypeDefaultRequiredConstraintsDescription
Durationstring"1s"YesFormat: <number>(ms|s), max 60 secondsDuration to wait. Examples: 1000ms, 5s, 30s, 0.5s.

Settings​

SettingOptionsDefaultDescription
Timeout (seconds)numberPipeline defaultMaximum execution time for this node (1--600).
Retry on TimeoutPipeline Default / Enabled / DisabledPipeline DefaultWhether to retry on timeout.
Retry on FailPipeline Default / Enabled / DisabledPipeline DefaultWhether to retry on failure. When Enabled, shows Advanced Retry Configuration.
On ErrorPipeline Default / Stop Pipeline / Continue ExecutionPipeline DefaultBehavior when node fails after all retries.

Advanced Retry Configuration (only visible when Retry on Fail = Enabled):

FieldTypeDefaultRangeDescription
Max Attemptsnumber31--10Maximum retry attempts.
Initial Delay (ms)number1000100--30,000Wait before first retry.
Max Delay (ms)number1200001,000--300,000Upper bound for backoff delay.
Multipliernumber2.01.0--5.0Exponential backoff multiplier.
Jitter Factornumber0.10--0.5Random jitter.

Usage Examples​

Example 1: Cool Down Between Assembly Jobs​

FieldValue
Duration5s
DescriptionPause to avoid overheating station.

Insert this wait after a welding robot finishes a batch. The five-second pause lets the fixture cool before the next job arrives.

Example 2: Catch-Up Buffer Before Quality Check​

FieldValue
Duration1.5s
On ErrorContinue Execution
DescriptionGive vision system time to reset optics.

Use this shorter pause ahead of an inline vision inspection. If the wait encounters an error, the branch still advances so the line does not deadlock.

Example 3: Settle Time Between Two Writes​

FieldValue
Duration250ms

Place this wait between a write that moves a packaging arm and the read that checks its position, so the arm has a quarter of a second to settle before the check runs.


Configuration reference​

The fields below are generated from the node's config contract, so they match what the pipeline validator enforces and what the designer's form offers.

action.wait​

FieldTypeRequiredDefaultValuesDescription
durationstringno1s0–6e+10How long to pause before passing the input through unchanged, as a duration string such as "500ms" or "5s"; at most 60s. A bare number is not accepted — write the unit