Skip to main content
Yukta bounds an execution with five independent clocks. All of them are pause-aware: pausing freezes every clock, so a pause never causes a timeout.

Node idle timeout

The idle clock is the node’s timeoutSeconds. When you do not set it, the plugin supplies a default that fits its work: Triggers have no input, so they keep the default idle timeout unless the plugin declares another. A timeout given as an expression is unknown until a message arrives. The node starts with the default and is re-timed when its first message comes in. Write numeric options as typed expressions, for example ${payload.secs:int}; see Variables and expressions.

Long silent work

A node that works for a long time without producing output would hit its idle timeout. A plugin keeps its node alive by sending a heartbeat, which restarts the idle clock. Remote workers send heartbeats automatically while an attempt runs. See Writing a plugin.

Element timeout and deadline

Set both in a node’s engine object:
deadlineMs must be above elementTimeoutMs. A terminal’s idle timeout and deadlineMs also cover what it does after its last input.

Run deadline

The run deadline bounds the whole execution and defaults to 3600 seconds. Change it with yukta.session.execution-timeout-seconds (environment form YUKTA_SESSION_EXECUTION_TIMEOUT_SECONDS). Because it never resets, it is the safety net for a workflow that should always finish. A run that outlives it ends TIMED_OUT; a node that times out keeps its own status.