Houdini 18.0 ノード TOPノード

HQueue Scheduler TOP node

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

On this page

このノードは、リモートマシン上でワークアイテムを実行できるようにHQueueを使ってそれらのワークアイテムのスケジュールを組みます。

HQueueの組み方に関する情報は、HQueueをはじめようまたはPDG For Design Workパート3 - 分散PDGのセットアップを参照してください。

Cook Modes

このスケジューラは、2種類のクックモードで動作させることができます:

  • 通常のクック モードは、HQueueスケジューラに接続して、ワークアイテムの実行の準備が整った時にそのワークアイテムのジョブを作成してから、それらのジョブがステータスを変更させて投入マシンと通信します。 つまり、ジョブを投入するHoudiniセッションは、クック中に 必ず 開いたままでなければなりません。

    このモードは、メニューまたはTOP UIのボタンから Cook を選択した時に使用されます。

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

    このモードは、HQueue Schedulerのパラメータ内のSubmit Graph As Job > Submit ボタンをクリックした時に使用されます。

ネットワーク要件

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

Tip

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

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

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

Warning

Windowsサービス側からはマップされたドライブを 使用することができません 。 WindowsでのHQueueジョブはWindowsサービス側で実行されるので、 UNCパス のみを使用してください。 例えば、H:/project/myhip.hipの代わりに//myserver/hq/project/myhip.hipを使用してください。 他にもパス内のバックスラッシュに注意してください。バックスラッシュを含んだパスがHoudiniまたはコマンドシェルで評価される、そのバックスラッシュはエスケープ文字として解釈されてしまいます。

TOP Attributes

hqueue_jobid

integer

HQueue SchedulerがワークアイテムをHQueueに投入した時、HQueueジョブIDを追跡できるように、このアトリビュートがそのワークアイテムに追加されます。

パラメータ

Scheduler

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

Submit Graph As Job

Submit

このスケジューラがTOPネットワーク全体をスタンドアローンのジョブとしてクックします。 投入されたジョブには、ステータスURIを表示します。 投入したHoudiniセッションは、TOPネットワークのクックから切り離されます。 この.hipファイルは必要に応じてコピーされ、Hythonプロセスは、そのTOPネットワークのデフォルトスケジューラを使用してそのTOPネットワークを普段どおりに実行します。

Tip

HQueue Web UIを使用することで、終了したスタンドアローンジョブを再スタートすることができます。 しかし、親ジョブではなくて TOP Cook という名前の子ジョブを再スタートするべきです。

Job Name

投入されたクックのトップレベルのHQueue Jobの名前。

Data Layer Server

Enable Server

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

Server Port

このパラメータは、 Enable Server有効 になっている時にのみ利用可能です。

データレイヤーサーバーで使用するサーバーポートを決定します。

Automatic

TCPポートはこのノードで自動的に選択されます。

Custom

ユーザーが指定したカスタムTCPポート。

これは、ファームマシンとモニタリングマシン間にファイアーウォールがある時に役立ちます。

Auto Connect

このパラメータは、 Enable Server有効 になっている時にのみ利用可能です。

有効にすると、このノードは、ジョブが開始された時にコマンドを送信してリモートビジュアライザの作成を試みます。

成功すると、リモートグラフが作成され、それがジョブを実行するサーバーに自動的に接続されます。 ジョブを投入するクライアントは、そのジョブを実行するサーバー側で 見えていなければなりません 。見えていなければ、接続は失敗します。

Working Directory

クックが中間ファイルと出力を生成するディレクトリを指定します。 これらの中間ファイルは、pdgtempという名前のサブディレクトリに配置されます。

Houdiniで共有ネットワークパス(例えば、H:/myproj/myhip.hip)から.hipファイルを開いている場合、ここには$HIP(デフォルト)を使用することができます。 しかし、ローカルディレクトリ(例えば、C:/temp/myhip.hip)から.hipファイルを開いている場合、ファームマシンからそのhipファイルにアクセスできるようにするために共有ネットワークにコピーしておく必要があります。 この場合、 Working Directory には、その共有ネットワークロケーションの絶対パスまたは相対パスを指定してください(例えば、//MYPC/Shared/myproj)。

Job Name

TOPネットワークをクックするジョブの名前。

Job Description

トップレベルのHQueue Jobの説明。 これは、そのジョブのJob Propertiesに表示することができます。

Override Local Shared Root

有効にすると、ローカル共有ルートディレクトリの位置が Local Shared Root Paths パラメータで上書きされます。

Local Shared Root Paths

以下のパラメータは、 Override Local Shared Root有効 になっている時にのみ利用可能です。

HQueueファームは、共有ネットワークファイルシステムで構成し、この共有ファイルシステムのマウントポイントをプラットフォーム別に指定してください。

Load from HQueue

HQueueサーバーを照会して、プラットフォーム別にローカル共有ルートパスを取得し、以下のパラメータを埋めます。

Windows

Windowsマシン上のローカル共有ルートパス。例えば、I:/

macOS

MacOSマシン上のローカル共有ルートパス。例えば、/Volumes/hq

Linux

Linuxマシン上のローカル共有ルートパス。例えば、/mnt/hq

HQueue Server

HQueueサーバーのURL。例えば、http://localhost:5000

Executable Paths

Universal HFS

有効にすると、$HFSディレクトリ(Houdiniインストールディレクトリ)の単一パスがすべてのプラットフォームで使用されます。 $HQROOT$HQCLIENTARCHを使用すれば、そのディレクトリパスの指定に役立ちます。

Linux HFS Path

このパラメータは、 Universal HFS が無効な時にのみ利用可能です。

Linux用$HFSパス。

macOS HFS Path

このパラメータは、 Universal HFS が無効な時にのみ利用可能です。

MacOS用$HFSパス。

Windows HFS Path

このパラメータは、 Universal HFS が無効な時にのみ利用可能です。

Windows用$HFSパス。

Python

Pythonジョブに使用したいPythonインタープリターを選択します。 このPythonは、 PDG_PYTHON トークンを使ってコマンド内で指定することができます。

From HFS

HoudiniにインストールされているPythonインタープリターを使用します。

From HQClient

HQClientがファームマシン上で使用しているのと同じPythonインタープリターを使用します。

Custom

Python Executable で指定された実行可能ファイルのパスを使用します。

Python Executable

Pythonジョブで使用するPython実行可能ファイルのフルパス。

Message Queue

Create Queue

Message Queueジョブをインタラクティブクックで作成するかどうかを決定します。

Message Queueは、投入したHoudiniセッションがネットワーク制限やファイアーウォールが原因でファームマシンから アクセスできない 時に役立ちます。

Automatically

Message Queueをインタラクティブクックで作成します。

ファーム上のジョブは、自身のステータスの変化をMessage Queueに伝えます。このMessage Queueは、投入したHoudiniセッションに次々に接続されていきます。

Never

Message Queueをインタラクティブクックで 作成しません

ファーム上のジョブは、自身のステータスの変化を、投入したHoudiniセッションに 直接 伝えます。

Task Callback Port

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

Relay Port

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

Advanced

Verbose Logging

ジョブ出力ログ内に追加でデバッグ情報をプリントします。

Tick Period

onTickコールバックをコールする間隔の最小時間(秒)。

Max Items Per Tick

Tick間でonScheduleコールバックが準備するワークアイテムの最大数。

Job Parms

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

Note

これらのパラメータのほとんどがHQueue Job Propertiesと等価です。

Scheduling

Job Priority

ジョブのHQueue優先度。

優先度の高いジョブほど優先度の低いジョブよりも先にスケジュールが組まれて処理されます。 0が一番低い優先度です。

Assign To

優先度の割り当て先となるクライアント。

Any Client

任意のクライアントに割り当てます。

Listed Clients

指定したクライアントに割り当てます。

Clients from Listed Groups

指定したクライアントグループに割り当てます。

Clients

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

ジョブを割り当てるクライアントの名前をスペースで区切ります。

Select Clients

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

HQueueからクライアントを選択して、 Clients リストを集計します。

Client Groups

このパラメータは、 Assign ToClients from Listed Groups に設定されている時にのみ利用可能です。

ジョブを割り当てるクライアントグループの名前をスペースで区切ります。

Select Groups

このパラメータは、 Assign ToClients from Listed Groups に設定されている時にのみ利用可能です。

HQueueからクライアントグループを選択して、 Client Groups リストを集計します。

CPUs per Job

ジョブが消費するCPUsの最大数。 この数がクライアントマシンの空きCPU数を超えている場合、そのクライアントマシンにはジョブが 割り当てられなくなります

Note

いくつかのジョブのマルチスレッド化はHoudini Max Threadsで制御することができます。 Tags パラメータを使用することで、このジョブに専用マシンが必要かどうかを制御することもできます。

Job Description

ジョブのDescriptionプロパティ。

Tags

スペース区切りのJob Tags。 これを使用することで、このジョブに専用マシンが必要かどうかを示すことができます。

Allowed Host

ジョブを実行させるマシンのホスト名。

Resources

ジョブが消費するHQueueリソースをスペースで区切ったリスト。 例えば、sidefx.license.render sidefx.license.engine

Maximum Run Time

ワークアイテムの実行が許可される最大時間(秒)。 実行時間がこの最大時間を越えると、そのワークアイテムは自動的にHQueueにキャンセルされます。

Non-Zero Exit Code Handling

Handle By

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

Reporting Error

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

Reporting Warning

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

Retrying Task

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

Ignoring Exit Code

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

Handle All Non Zero

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

Exit Code

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

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

Retries

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

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

Task Environment

Houdini Max Threads

HOUDINI_MAXTHREADS環境変数に値を設定します。

CPUs per Job が有効の場合、 Houdini Max Threads に値が設定されます。 CPUs per Job が無効の場合、 Houdini Max Threads にデフォルトで0が設定されます。つまり、ジョブは利用可能なプロセッサすべてを使用することを意味します。

プラスの値は、利用可能なスレッド数を制限します。 例えば、1の値は、ジョブを1スレッドに制限することで完全にマルチスレッド処理を無効にします。 プラスの値は、利用可能なCPUコア数で制限されます。

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

リソースの使用量を制限する方法を参照してください。

Inherit Local Environment

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

Environment Variables

独自のKey-Value環境変数を各タスクに追加します。

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ファイルからデータをワークアイテムアトリビュートに抽出します。