pub struct TaskOutput<S: State> {
pub task_id: String,
pub node_name: String,
pub command: Command<S>,
pub duration: Duration,
pub trigger: TaskTrigger,
pub triggered_fields: Vec<usize>,
pub error: Option<JunctureError>,
pub circuit_blocked: bool,
}Expand description
Output from a single completed task
Contains the task ID, node name, command returned by the node, trigger type, execution duration, triggered fields, and optional error information when the node has a registered error handler.
Fields§
§task_id: StringTask identifier
node_name: StringName of the node that was executed
command: Command<S>Command returned by the node
duration: DurationExecution duration
trigger: TaskTriggerWhat triggered this task
triggered_fields: Vec<usize>Field indices that triggered this task
Tracks which specific fields had updates that caused this task to be scheduled. This allows fine-grained consumption of only triggered channels instead of consuming all changed fields.
error: Option<JunctureError>Error that occurred during execution, if the node has a registered
error handler. When present, command contains the error handler’s
output. When absent but the task failed, the error propagates
immediately (no recovery).
circuit_blocked: boolWhether this task was blocked by a circuit breaker.
When true, the task was never executed because its circuit was open.
Circuit-blocked tasks should not trigger fallback or error handler
scheduling, as they represent a deliberate prevention, not an execution
failure.