Houdini 18.5 Nodes TOP nodes

Nuke Server Begin TOP node

Starts a persistent Nuke command server.

On this page
Since 18.0

This node is a specialized version of the generic Python Server Begin node that you can use to create Nuke Server work items.

Session work items in this node are associated with a long running Nuke process that you can use to run MEL or Python code using the Command Send node.

For more information about using command chains, see command servers.

Tip

The $HH/help/files/pdg_examples/top_nukepipeline example shows how you can use this node to create a command chain that uses Nuke.

TOP Attributes

sharedserver

str

The sharedserver attribute specifies the name of the shared Nuke instance associated with the work item. In the case of the begin item, it’s the name of the server that the work item will eventually create.

loopiter

[int]

This attribute is inherited from the Block Begin Feedback node.

The loop iteration number within the set of work items associated with the loop. Since the iteration number at each level is preserved, this attribute can be an array of values when using nested feedback loops. The loop iteration value for the outer most loop is stored in loopiter[0], the next level is stored in loopiter[1], and so on.

loopnum

int

This attribute is inherited from the Block Begin Feedback node.

Tracks which loop the work item is associated with. This attribute is relevant when generating multiple independent loops in the same Block Begin Feedback node, like when driving the Block Begin Feedback node with a Wedge node.

loopsize

int

This attribute is inherited from the Block Begin Feedback node.

The total number of iterations in the loop.

Parameters

Node

Generate When

Determines when this node will generate work items. You should generally leave this set to "Automatic" unless you know the node requires a specific generation mode, or that the work items need to be generated dynamically.

All Upstream Items are Generated

This node will generate work items once all of the input nodes have generated their work items.

All Upstream Items are Cooked

This node will generate work items once all of the input nodes have cooked their work items.

Each Upstream Item is Cooked

This node will generate work items each time a work item in an input node is cooked.

Automatic

The generation mode is selected based on the generation mode of the input nodes. If any of the input nodes are generating work items when their inputs cook, this node will be set to Each Upstream Item is Cooked. Otherwise, it will be set to All Upstream Items are Generated.

Session Count from Upstream Items

When on, the node creates a single server work item and a session with the server for each upstream work item. Otherwise, a server item is created for each upstream work item.

Number of Sessions

Specifies the number of sessions to create with the server. Each session work item cooks in serial with other sessions using the same server.

The chain of work items starting from this session item down to the Command Server End node cooks to completion before starting the next session.

This parameter is only available when Session Count from Upstream Items is off.

Copy Inputs For

Determines how input files are copied onto loop items. By default, upstream files are copied onto all input files. However, it is also possible to only copy input files onto the first iteration or none of the loop iterations.

No Iterations

Upstream input files are not copied to the outputs of any loop iteration items.

First Iteration

Upstream input files are copied to the output file list for only the first loop iteration

All Iterations

Upstream input files are copied to the output file list of all iterations.

Connect To Existing Server

When on, the work item connects to an existing server instead of spawning a new one.

Server Name

Specifies the name of the shared server. This name must be unique. You can can make the name unique by turning on the Append Index to Server Name parameter.

Nodes like Command Send use Server Name to access the server.

Append Index to Server Name

When on, appends the work item index to the end of the Server Name when registering the server. This is useful when generating multiple shared server work items in this node.

Server Address

Specifies the existing server address.

This parameter is only available when Connect To Existing Server is on.

Server Port

When Connect To Existing Server is on, specifies the port to use to connect to an existing server. When Connect To Existing Server is off, specifies the TCP port number the server should bind to.

The default value 0 tells the system to dynamically select an unused port. This is the behavior you usually want. If you want to keep the ports in a certain range (and can guarantee the port numbers will be available), you can also use an expression like 9000 + @pdg_index.

Load Timeout

Specifies the timeout used when performing an initial verification that the shared server instance can be reached. When this timeout passes without a successful communication, the work item for that server is marked as failed.

Nuke Python Executable

Specifies the path to the Python executable provided by Nuke that should be started.

The default value is $PDG_NUKEPY, which expects that the environment variable is defined when the work item executes. However, you can set this to an absolute path if it’s known.

Feedback Attributes

When this parameter is enabled, the specified attributes are copied from the end of each iteration onto the corresponding work item at the beginning of the next iteration. This occurs immediately before the starting work item for the next iteration cooks.

Tip

The attribute(s) to feedback can be specified as a space-separate list or using the attribute pattern syntax. For more information on how to write attribute patterns, see the Attribute Pattern Syntax documentation.

Feedback Output Files

When this parameter is enabled, the output files from each iteration are copied onto the corresponding work item at the beginning of the next loop iteration. The files will be added as outputs of that work item, which makes them available as inputs to work items inside the loop.

Loop Attribute Names

These parameters can be used to customize the names of the work item attributes created by this node.

Iteration

The name of the attribute that stores the work item’s iteration number.

Number of Iterations

The name of the attribute that stores the total iteration count.

Loop Number

The name of the attribute that stores the loop number.

Files

File Dependencies

A list of files that should be copied to the PDG working directory before the first work item in this node is executed. This can be used to ensure that supporting files like digital assets and custom scripts are available for the work item job.

The specified paths can be absolute or relative to HOUDINI_PATH.

Schedulers

TOP Scheduler Override

This parameter overrides the TOP scheduler for this node.

Work Item Priority

This parameter determines how the current scheduler prioritizes the work items in this node.

Inherit From Upstream Item

The work items inherit their priority from their parent items. If a work item has no parent, its priority is set to 0.

Custom Expression

The work item priority is set to the value of Priority Expression.

Node Defines Priority

The work item priority is set based on the node’s own internal priority calculations.

This option is only available on the Python Processor TOP, ROP Fetch TOP, and ROP Output TOP nodes. These nodes define their own prioritization schemes that are implemented in their node logic.

Priority Expression

This parameter specifies an expression for work item priority. The expression is evaluated for each work item in the node.

This parameter is only available when Work Item Priority is set to Custom Expression.

See also

TOP nodes