pub struct Task {
pub id: String,
pub name: String,
pub description: Option<String>,
pub condition: Value,
pub condition_index: Option<usize>,
pub function: FunctionConfig,
pub continue_on_error: bool,
}Expand description
A single processing unit within a workflow (also known as an Action in rules-engine terminology).
Tasks execute functions with optional conditions and error handling. They are processed sequentially within a workflow, allowing later tasks to depend on results from earlier ones.
§Example JSON Definition
{
"id": "validate_user",
"name": "Validate User Data",
"description": "Ensures user data meets requirements",
"condition": {">=": [{"var": "data.order.total"}, 1000]},
"function": {
"name": "validation",
"input": { "rules": [...] }
},
"continue_on_error": false
}Fields§
§id: StringUnique identifier for the task within the workflow.
name: StringHuman-readable name for the task.
description: Option<String>Optional description explaining what the task does.
condition: ValueJSONLogic condition that determines if the task should execute.
Conditions can access any context field (data, metadata, temp_data).
Defaults to true (always execute).
condition_index: Option<usize>Index into the compiled logic cache for this task’s condition. Set during workflow compilation; not serialized.
function: FunctionConfigThe function configuration specifying what operation to perform. Can be a built-in function (map, validation) or a custom function.
continue_on_error: boolWhether to continue workflow execution if this task fails.
When true, errors are recorded but don’t stop the workflow.
Defaults to false.
Implementations§
Source§impl Task
impl Task
Sourcepub fn action(id: &str, name: &str, function: FunctionConfig) -> Self
pub fn action(id: &str, name: &str, function: FunctionConfig) -> Self
Create a task (action) with default settings.
This is a convenience constructor for the IFTTT-style rules engine pattern,
creating an action that always executes (condition defaults to true).
§Arguments
id- Unique identifier for the actionname- Human-readable namefunction- The function configuration to execute