TaskNode

Base class for nodes which have external side effects - generating files on disk for instance. Can be connected with other task nodes to define an order of execution based on dependencies between nodes. A Dispatcher can then be used to actually perform the execution of the tasks generated by such a network.

user

Container for user-defined plugs. Nodes should never make their own plugs here, so users are free to do as they wish.

preTasks

Input connections to upstream nodes which must be executed before this node.

postTasks

Input connections to nodes which must be executed after this node, but which don’t need to be executed before downstream nodes.

task

Output connections to downstream nodes which must not be executed until after this node.

dispatcher

Container for custom plugs which dispatchers use to control their behaviour.

dispatcher.batchSize

Maximum number of frames to batch together when dispatching tasks. If the node requires sequence execution batchSize will be ignored.

dispatcher.immediate

Causes this node to be executed immediately upon dispatch, rather than have its execution be scheduled normally by the dispatcher. For instance, when using the LocalDispatcher, the node will be executed immediately in the dispatching process and not in a background process as usual.

When a node is made immediate, all upstream nodes are automatically considered to be immediate too, regardless of their settings.

dispatcher.tractor

Settings that control how tasks are dispatched to Tractor.

dispatcher.tractor.service

A Tractor “service key expression” used to select blades on which tasks will be executed.

dispatcher.tractor.tags

A space separated list of tags that can be used with Tractor’s limits to constrain the number of concurrent tasks. Typically this is used to ensure that tasks using commercial software do not exceed the available license count.