Skip to main content

Workflow Execution

Execution location

Workflows are designed on factory, but will be executed on the render nodes. All your variables and code should be aware of this point for example: File path data should be built from the render nodes point of view not from factory point of view.

Execution Tree

Lets start with a simple workflow.

execution_tree

This workflow could be interpreted as a tree of tasks.

task_tree

Evaluation

Most of tasks input parameters are evaluated at execution time. By opposition to static value, an evaluated value is a python expression that can access, among others, to global and current task context.

static value my super value
evaluated example 1 'my super value'
evaluated example 2 'my' + ' super ' + 'value'

Context variables

Global Context

Task related context

Workflow variables

Workflow variables can be acceded from any evaluated expression using 'workflow' object (ex: workflow.workflow_name).

NameDescription
instance_idcurrent workflow instance ID
template_idworkflow template ID for current instance
workflow_nameworkflow template name for current instance
sequence_idSequence ID for current instance (if executed from a sequence)
sequence_nameSequence name for current instance (if executed from a sequence)
sequence_job_idJob ID for current instance (if executed from a sequence)
node_nameNode name executing the current workflow
node_idNode ID executing the current workflow

Error management

Connecting task red port

Every task has a red port. In case of error.

Connecting home red port

Home red port will be called when an error occurred in any task.