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.
This workflow could be interpreted as a tree of tasks.
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).
instance_id current workflow instance id
template_id workflow template id for current instance
workflow_name workflow template name for current instance
sequence_id Sequence id for current instance (if executed from a sequence)
sequence_name Sequence name for current instance (if executed from a sequence)
sequence_job_id Job id for current instance (if executed from a sequence)
node_name Node name executing the current workflow
node_id Node 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.