Houdini 18.0 ノード TOPノード

Tractor Scheduler TOP node

PixarのTractorを使ってワークアイテムのスケジュールを組みます。

On this page

Windows

C:\Program Files\Pixar\Tractor-2.3\lib\python2.7\Lib\site-packages

Mac

/Applications/Pixar/Tractor-2.3/...

Linux

/opt/pixar/Tractor-2.3/lib/python2.7/Lib/site-packages

クックモード

このスケジューラは、2種類のクックモードで動作させることができます。 通常のクックモードは、TOP UIのメニューまたはボタンのどれかから Cook を選択した時に使用されます。 これは、Tractorエンジンに接続して、ワークアイテムの実行の準備が整った時にそのワークアイテムのジョブを作成します。 次に、それらのジョブがステータスを変更させて投入マシンと通信します。 つまり、ジョブを投入するHoudiniセッションは、クック中に 必ず 開いたままでなければなりません。

別のクックモードとして、 Submit Graph As Job のボタンを使用することで、TOPネットワーク全体をスタンドアローンジョブとしてクックすることができます。 このモードでは、ジョブを投入するHoudiniセッションは、TOPネットワークのクックから切り離されます。 必要に応じて.hipファイルがコピーされ、通常ではHython Taskは、そのTOPネットワークのデフォルトスケジューラを使ってTOPネットワークを実行します。 このモードだと、現行Houdiniセッションの更新内容も反映 されなくなります 。 このモードを使用した時のジョブの進捗をチェックしたいのであれば、Tractorウェブポータルを使用する必要があります。

ネットワーク要件

クックの一部として、メッセージキュー(MQ)ジョブが投入されます。 このジョブは、実行中のジョブから投入マシンに情報を返すために使用されます。 このため、ファームマシンは、他のファームマシンのホスト名を解決できる必要があります。

Tip

これは、/etc/hosts(Linux / MacOS)またはC:\Windows\System32\Drivers\etc\hosts(Windows)を編集することと同じくらい簡単です。

さらに、ファームマシン間にファイアーウォールを設定しないようにするか、または、 Task Callback Port を使って、使用する開放ポートを指定する必要があります。

クックが開始されると、ジョブ投入マシンは、MQジョブを実行しているファームマシンに接続するので、そのジョブ投入マシンとファームマシン間にファイアーウォールを設定しないようにするか、または、 Relay Port を使って開放ポートを指定する必要があります。

認証

Tractorにワークを投入するアーティストは、ログイン情報をPDGに渡す必要があります。 $TRACTOR_USERと$TRACTOR_PASSWORDの環境変数が存在すれば、Tractor APIはそれらの環境変数を使って認証を行ないます。 Job Owner パラメータはジョブの所有者を設定します。 しかし、$PDG_TRACTOR_USER環境変数が存在すれば、その所有者はその環境変数で上書きされます。 Submit Graph As Job ワークフローを使用する際にPDGは実際にTOP Cookジョブを実行するブレードからTractor APIにログインする必要があるので、この環境変数が役立ちます。 その場合には、Tractorクライアント環境で$PDG_TRACTOR_USERを設定してください。 Tractor Password パラメータは、暗号化されないので、デバッグする時にのみ使用し、HIPファイルには決して保存しないでください。

TOP Attributes

tractor_id

integer

スケジューラがワークアイテムをTractorに投入する時、TractorのJob IDとTask IDを追跡できるように、このアトリビュートをそのワークアイテムに追加します。 1番目のエレメントがJob jidで、2番目のエレメントがTask tidです。

パラメータ

以下のパラメータは、このスケジューラを使ったすべてのワークアイテムのグローバルパラメータです。

Submit Graph As Job

Submit

スケジューラがTOP Network全体をスタンドアローンジョブとしてクックさせたい時にコールします。 投入されたジョブのステータスURIを表示します。

Job Title

投入するジョブのタイトル。

Job Service Keys

ファーム上のTOPグラフを実行するジョブのTractor Service Key表現。 TOPグラフの実行には別でタスクが必要になるものの、メモリやCPUをあまり消費しないので、これには非力なスロットを使用すると良いでしょう。

Enable Server

ファーム上でクックするTOPジョブのデータレイヤーサーバーを有効化します。 これによって、PilotPDGまたは他のWebSocketクライアントからリモートでクック中のジョブに接続して、そのPDGの状態を確認することができます。

Server Port

Automatic

データレイヤーサーバーのTCPポートを自動的に選択します。

Custom

データレイヤーサーバーで使用するTCPポートを指定します。 これは、ファームマシンとモニタリングマシン間にファイアーウォールがある時に役立ちます。

Scheduler

Tractor Server Hostname

Tractorサーバーのアドレス。

Tractor Server Port

Tractorサーバーのポート番号。

Tractor User

Tractorサーバーログインのユーザ名。

Tractor Password

Tractorサーバーログインのパスワード。

Job Title

投入されたクックのトップレベルのJobのタイトル。

Job Priority

クックJobの優先度。

Tier

有効なサイトワイドのTierのリスト。各Tierは特定のグローバルジョブ優先度とスケジューリング規則を表します。

Projects

このジョブのプロジェクト所属の名前。

Max Active Tasks

PDG Cook Jobが並列で実行できるタスクの最大数。

Verbose Logging

有効にすると、バインドされているスケジューラからの詳細なメッセージがコンソールにプリントされます。

Use Session File

有効にすると、Tractor APIは1つのHoudiniセッション内でローカルユーザを何回も認証する必要がないように一時ファイルを生成します。 このファイルは$TEMP/.pdgtractor.{user}.{host}.sessionとして生成されます。

Working Directory

ワークが中間ファイルや出力を生成する場所となる相対ディレクトリ。 中間ファイルはサブディレクトリ下に配置されます。 ローカルスケジューラまたはHQueueスケジューラに関しては、通常では$HIPを使用します。 他のスケジューラに関しては、ここには、Local Shared Root PathRemote Shared Root Pathの相対ディレクトリを指定してください。 そのパスは、それらのルートパスに追加されます。

Python Executable

ファームマシン上のPython実行ファイルのフルパス。これは、PDGワークアイテムのジョブラッパースクリプトを実行する際に使用されます。

Shared File Root Path

NFS

NFSゾーン内のファームマシンの共有ファイルルートのパス。

UNC (Windows)

UNCゾーン内のファームマシンの共有ファイルルートのパス。

$HFS Path

NFS

NFSゾーン内のファームマシンのHoudiniインストールディレクトリのパス。

UNC (Windows)

UNCゾーン内のファームマシンのHoudiniインストールディレクトリのパス。

Message Queue

Service Keys

Message Queue Serverを実行するタスクのTractor Service Key表現。 Message Queueの実行には別でタスクが必要になるものの、メモリやCPUをあまり消費しないので、これには非力なスロットを使用すると良いでしょう。 Submit Graph As Job でTOPグラフをクックする場合、Message Queueタスクは生成されないことに注意してください。

Task Callback Port

Message Queue ServerのJobコールバックAPIで使用するTCP Portを設定します。このポートはファームクライアント間でアクセスできなければなりません。

Relay Port

PDGとMessage Queue Commandを実行しているクライアントとの間のMessage Queue Server接続で使用するTCP Portを設定します。 このポートは、PDG/ユーザマシンからファームクライアントに到達できなければなりません。

Job Parms

以下のジョブ特有のパラメータは、投入されたすべてのジョブに影響を与えますが、各ノードによって上書きすることができます。 Scheduler Job Parms / Propertiesを参照してください。

Service Key Expression

ジョブサービスキーエクスプレッション。これは、このジョブの実行に対応しているブレードのタイプを指定する際に使用されます。

Limit Tags

ジョブ制限タグ。ここには、ジョブのすべてのコマンドに関係のあるタグを表現したスペース区切りの文字列のリストを指定します。

At Least Slots

このコマンドを実行するためにTractorブレードで必須の最低限の空きスロット数。

At Most Slots

有効な場合、このコマンドを実行する時に使用する最大の空きスロット数。 明示的に設定しない限りは、これが Houdini Max Threads のデフォルト値として使用されます。

Houdini Max Threads

HOUDINI_MAXTHREADS 環境変数に値を設定します。 デフォルトの HOUDINI_MAXTHREADS は、 At Most Slots が有効になっていればその値が設定されます。

デフォルトの0は、利用可能なプロセッサすべてを使用することを意味します。

プラスの値は、利用可能なスレッド数を制限します。 1の値は、完全にマルチスレッド処理を無効にします(1スレッドのみに制限)。 プラスの値は、利用可能なCPUコア数で制限されます。

マイナスの値を指定すると、最大プロセッサ数からその値が引かれて、スレッド数が決定されます。 例えば、-1の値は全CPUコア数から1を引いたCPUコア数が使用されます。

Inherit Local Environment

有効にすると、PDGの現行セッション内の環境変数がJobの環境変数にコピーされます。

Tractor Env Keys

Bladeプロファイルで定義された環境キーをスペースで区切ったリスト。

Metadata

タスク定義に追加する任意の文字列。

Non-Zero Exit Code Handling

Handle By

コマンドが失敗した(ゼロ以外のExitコードを返した)時の挙動をカスタマイズします。

Reporting Error

ワークアイテムが失敗します。

Reporting Warning

ワークアイテムが成功し、警告がノードに追加されます。

Retrying Task

Retries の回数だけTractorによってワークアイテムを再試行します。

Ignoring Exit Code

ワークアイテムが成功します。

Handle All Non Zero

無効にすると、特定のexitコードを指定することができます。

Exit Code

Handle By を使って制御したいexitコードを指定します。 ゼロ以外のすべてのexitコードは、通常では失敗として扱われます。

このパラメータは、 Handle All Non Zero が無効になっている時にのみ利用可能です。

Retries

コマンドが失敗した時にそのジョブを再試行する回数。

このパラメータは、 Handle ByRetrying Task に設定されている時にのみ利用可能です。

Job Environment

追加のワークアイテム環境変数は、ここで指定可能です。

Job Scripts

Pre Shell

コマンド実行前に実行/ソース化したいシェルスクリプト。

Post Shell

コマンド実行後に実行/ソース化したいシェルスクリプト。

Pre Python

コマンドプロセスを分岐させる前にラッパースクリプトで実行したいPythonスクリプト。

Post Python

コマンドプロセスが抜けた後にラッパースクリプトで実行したいPythonスクリプト。

See also

TOPノード

  • Attribute Array

    ワークアイテム上に配列アトリビュートを作成/変更します。

  • Attribute Copy

    あるブランチのワークアイテムのアトリビュートを他のブランチのワークアイテムにコピーします。

  • Attribute Create

    入力のワークアイテムすべてに対してアトリビュートを作成または設定します。

  • Attribute Delete

    ワークアイテムからアトリビュートを削除します。

  • Attribute Rename

    ワークアイテム上のアトリビュートの名前を変更します。

  • Attribute from String

    ファイル名などの文字列からアトリビュート値を解析します。

  • Block Begin Feedback

    For-Loop with Feedbackブロックを開始します。このブロック内のTOPノードは直列で実行され、オプションで入力のワークアイテム毎にループさせることができます。

  • Block End Feedback

    For-Loop with Feedbackブロックを終了します。このブロック内のTOPノードは直列で実行され、オプションで入力のワークアイテム毎にループさせることができます。

  • CSV Input

    CSVファイルのデータをワークアイテムのアトリビュートにコピーします。

  • CSV Output

    ワークアイテムのアトリビュートをCSVファイルに書き出します。

  • Command Send

    実行させたいコードを共有サーバーに送信します。

  • Command Server End

    サーバーブロックを終了します。

  • Deadline Scheduler

    Thinkbox社のDeadlineソフトウェア用PDGスケジューラ。

  • Download File

    1つ以上のURLの内容をファイルにダウンロードします。

  • Environment Edit

    ワークアイテムのコマンドラインが実行する環境下で設定する変数を編集します。

  • Error

    条件を満たした時に警告またはエラーを生成します。

  • Error Handler

    失敗したワークアイテムのエラーハンドル。

  • FFmpeg Encode Video

    静止画像シーケンスを動画に変換します。

  • FFmpeg Extract Images

    動画ファイルから静止画像シーケンスを抽出します。

  • File Compress

    ファイルをアーカイブに圧縮します。

  • File Copy

    実行時またはノードがファイルを生成した時に、ファイルをある場所から別の場所にコピーします。

  • File Decompress

    入力のワークアイテムで指定されたアーカイブファイルを個々のファイルに解凍します。

  • File Pattern

    特定のパターンに合致したファイルに基づいてワークアイテムを生成します。

  • File Range

    特定のファイルパターンに基づいたフレーム範囲からワークアイテムを生成します。

  • File Remove

    指定したパスのファイルを削除します。

  • File Rename

    ファイルを名前変更または移動させます。

  • Filter by Expression

    上流のワークアイテムを条件付きでフィルタリングします。

  • Filter by Range

    指定したフレーム内またはアトリビュート範囲内にある上流のワークアイテムを絞り込みます。

  • Generic Generator

    アトリビュートなしでコマンドラインを実行するワークアイテムを生成します。

  • Geometry Import

    SOPまたはジオメトリファイルのポイントまたはプリミティブをワークアイテムアトリビュートまたは一時ファイルに読み込みます。

  • HDA Processor

    デジタルアセットをクックするワークアイテムを生成します。

  • HQueue Scheduler

    HQueueを使用してワークアイテムのスケジュールを組みます。

  • Houdini Server Begin

    持続型Houdiniコマンドサーバーを起動します。

  • ImageMagick

    一括で画像変換、サイズ変更、画像モザイクなどのImageMagickの機能に簡単にアクセスすることができます。

  • In Process Scheduler

    In-Processワークアイテムのスケジューリングを制御します。

  • Invoke

    入力ジオメトリに対してコンパイルブロックを呼び出します。

  • Json Input

    JSONファイルからデータを抽出してアトリビュートを作成します。

  • Json Output

    JSON出力を生成する色々なオペレーションを実行します。

  • Local Scheduler

    ローカルマシン上でワークアイテムのスケジュールを組みます。

  • Make Directory

    ディレクトリを作成します。

  • Map All

    上流のすべてのワークアイテムを下流のワークアイテムにマップします。

  • Map by Expression

    エクスプレッションを使って、上流のワークアイテムを下流のワークアイテムにマップします。

  • Map by Index

    上流のワークアイテムをインデックスに基づいて下流のワークアイテムにマップします。

  • Map by Range

    範囲を使って上流のワークアイテムを下流のワークアイテムにマップします。

  • Maya Server Begin

    持続型Mayaコマンドサーバーを起動します。

  • Merge

    上流のすべてのワークアイテムを結合します。

  • Nuke Server Begin

    持続型Nukeコマンドサーバーを開始します。

  • Null

    何もしません。

  • OP Notify

    何かしらのTOPワークが完了したことを通知します。

  • Output

    サブネット出力。

  • Partition by Attribute

    アトリビュートに基づいてワークアイテムを区分けします。

  • Partition by Bounds

    境界アイテムを使って、ソースアイテムを空間的に区分けします。

  • Partition by Combination

    ワークアイテムを2個毎、3個毎などに区分けします。

  • Partition by Comparison

    既存の比較を使ってワークアイテムを区分けします。

  • Partition by Expression

    エクスプレッションに基づいてワークアイテムを区分けします。

  • Partition by Frame

    フレームに基づいてワークアイテムを区分けします。

  • Partition by Index

    インデックスに基づいてワークアイテムを区分けします。

  • Partition by Node

    ノードに基づいてワークアイテムを区分けします。

  • Partition by Range

    範囲に基づいてワークアイテムを区分けします。

  • Partition by Tile

    軸に平行な境界ボックスを使ってワークアイテムを空間的に区分けします。

  • Perforce

    PDG経由でPerforceコマンドを実行します。

  • Python Mapper

    Pythonスクリプトを使ってワークアイテムをマップします。

  • Python Partitioner

    Pythonスクリプトを使ってワークアイテムを区分けします。

  • Python Processor

    Pythonスクリプトを使ってワークアイテムを生成します。

  • Python Scheduler

    Pythonベースでプログラミング可能なPDG用スケジューラ。

  • Python Script

    スクリプトを実行するワークアイテムを生成します。

  • Python Server Begin

    Pythonコマンドサーバーを起動します。

  • ROP Alembic Output

    埋め込まれたROP Alembic ROPノードをクックするワークアイテムを生成します。

  • ROP Composite Output

    埋め込まれたComposite ROPノードをクックするワークアイテムを生成します。

  • ROP Fetch

    ROPノードまたはROPネットワークをクックするワークアイテムを生成します。

  • ROP Geometry Output

    埋め込まれたGeometry ROPノードをクックするワークアイテムを生成します。

  • ROP Mantra Render

    埋め込まれたMantra ROPノードをクックするワークアイテムを生成します。

  • ROP USD Output

    組み込まれたUSD ROPノードをクックするワークアイテムを作成します。

  • Range Generate

    指定した範囲のワークアイテムを生成します。

  • Render IFD

    Mantraを使ってIFDファイルをレンダリングするワークアイテムを生成します。

  • SQL Input

    SQLクエリの作成と行毎にワークアイテムを生成する入力ノードです。

  • SQL Output

    SQL INSERTクエリを生成する出力ノードです。

  • Send Email

    電子メールを送信します。

  • Shotgun Create

    Shotgunエンティティを作成します。

  • Shotgun Delete

    Shotgunからエンティティを削除します。

  • Shotgun Download

    ShotgunからAttachmentをダウンロードします。

  • Shotgun Find

    Shotgunエンティティを検索します。

  • Shotgun Server Begin

    持続型Shotgunコマンドサーバーを起動します。

  • Shotgun Update

    Shotgunエンティティを更新します。

  • Shotgun Upload

    Shotgunにファイルをアップロードします。

  • Sort

    アトリビュートのリストからワークアイテムを並べ替えます。

  • Split

    上流のワークアイテムを2つのグループに分けます。

  • Subnetwork

    TOPノード用コンテナ。

  • Switch

    ネットワーク分岐を切り替えます。

  • TOP Fetch

    他のTOPネットワークをクックします。

  • TOP Fetch Input

    TOP Fetchで取得したネットワークの入力。

  • Text Output

    テキストを新しいファイルに書き出したり、既存ファイルに書き足します。

  • Tractor Scheduler

    PixarのTractorを使ってワークアイテムのスケジュールを組みます。

  • USD Import

    USDステージで見つかったPrimsからワークアイテムを生成します。

  • USD Import Files

    USDステージで見つかったファイル参照からワークアイテムを作成します。

  • USD Render

    USDファイルを書き出すワークアイテムを作成します。

  • Wait for All

    上流のワークアイテムすべてが完了するのを待ちます。

  • Wedge

    アトリビュート値を色々と変えながらワークアイテムを生成します。

  • Work Item Expand

    ファイルリストまたはパーティションを複数のワークアイテムに展開します。

  • Xml Input

    XMLファイルからデータをワークアイテムアトリビュートに抽出します。