Houdini 19.5 ノード TOPノード

Python Scheduler TOP node

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

Since 17.5

このノードには、独自のPDGスケジューラ向けPythonコードを記述するためのインターフェースが備わっており、そのインターフェスを使ってワークアイテムのスケジュールを組むことができます。 ベースのスケジューラのコールバックは、機能別にコードが記述されたPythonテキストフィールドとして露出されています。 それぞれのコールバックフィールドは、汎用PDGワークアイテムスケジュールワークフロー間で評価されて実行されます。 SchedulerノードAPIリファレンスでは、実装可能なコールバック関数に関する詳細が説明されています。

Python SchedulerノードをTOPネットワーク内でそのまま使用したり、Save To Pythonボタンを使ってPythonファイルに保存することができます。 Save To Python機能は、コールバックエントリー内の記述と一緒にカスタムスケジューラノードの実装をすべて書き出します。 このPythonファイルがScheduler Factoryによって自動的に取得されて登録されるようにするには、そのファイルをPDG Pythonパス(例えば、/home/username/houdini17.5/pdg/types/)に配置してください。 Houdiniを起動すれば、そのPythonファイルが反映されます。つまり、カスタムSchedulerに変更を加えれば、Houdiniを再起動する必要があります。

一度登録されると、Schedulers下でTabメニューを押してそのカスタムSchedulerノードを選択すると、そのノードが作成されます。 Tabメニューにそれが表示されないのであれば、Houdini起動時にそのPythonファイルが見つからなかったか、または、Pythonファイルにエラーがあります。

パラメータ

Save To Python

このノードをカスタムコールバックエントリーと一緒にPythonファイルに保存します。

Working Directory

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

Load Item Data From

このスケジューラで処理されるジョブがワークアイテムのアトリビュートとデータを読み込む方法を決めます。

Temporary JSON File

スケジューラは、ワークアイテム毎に.jsonファイルをPDG一時ファイルディレクトリに書き出します。 このオプションは、デフォルトで有効になっています。

RPC Message

スケジューラが実行するワークアイテムは、RPC経由でアトリビュートとデータを要求します。 このスケジューラがファームスケジューラの場合でも、ファーム上で実行されるジョブスクリプトは、Out-of-Processワークアイテムオブジェクトを作成する時にサブミッターからアイテムデータを要求します。

このパラメータオプションは、データファイルをディスクに書き出す必要性がないので、ローカルマシンとリモートマシンがファイルシステムを 共有しない 時に役立ちます。

Compress Work Item Data

有効にすると、PDGはワークアイテムの.jsonファイルをディスクに書き出す時にそれらのファイルを圧縮します。

このパラメータは、 Load Item Data FromTemporary JSON File に設定されている場合にのみ利用可能です。

Validate Outputs When Recooking

有効にすると、グラフが再クックされた時に、PDGは、スケジューラがクックしたワークアイテムの出力ファイルを検証し、それらのファイルがまだディスク上に存在しているかどうかを確認します。 出力ファイルが見つからないワークアイテムは、自動的にDirty(変更あり)となり、再度クックされます。 パラメータの変更によってワークアイテムがDirty(変更あり)となった場合、それらのキャッシュファイルも自動的に無効となります。 Validate Outputs When Recooking はデフォルトで 有効 になっています。

Check Expected Outputs on Disk

有効にすると、PDGは、スケジューラのワークアイテムがクックを終了した時に明示的に報告されなかった不要な出力(例えば、場合によって内部ロジックを処理するカスタム出力が生成してしまう出力など)を検索します。 このチェックは、スケジューラがワークアイテムをクック済みとマークした直後に行なわれ、正常に報告された必要な出力はチェックされません。 PDGは、必要な出力とは異なるファイルを検索し、それらのファイルは自動的に実際の出力ファイルとして追加されます。

Limit Jobs

有効にすると、スケジューラから同時に投入可能なジョブの最大数が設定されます。

TractorやHQueueなどのファームスケジューラの場合、このパラメータを使用して、レンダーファーム自体に投入されるジョブの最大数を制限することができます。 このパラメータを設定することで、特にPDGグラフに膨大な数の小さいタスクが含まれている時にレンダーファームの負荷を制限するのに役立ちます。

Block on Failed Work Items

有効にすると、スケジューラ上で失敗したワークアイテムが存在すれば、クックの完了がブロックされ、PDGグラフのクックを終了できなくなります。 これによって、手動で失敗したワークアイテムを再試行することができます。 スケジューラのクックが失敗したワークアイテムによってブロックされると、ESCキーを押したり、TOP TasksバーCancel Current cook ボタンをクリックしたり、キャンセルAPIメソッドを使用することで、そのスケジューラのクックを キャンセル することができます。

Scheduling

Schedule

onSchedule Callback

ワークアイテムのスケジュールを組む必要がある時にコールされます。 ワークアイテムのスケジュールを組むことに成功すればTrueを返します。

Schedule Static

onScheduleStatic Callback

静的なディペンデンシーグラフを処理する時にコールされます。

Submit As Job

submitAsJob Callback

スケジューラがTOPネットワーク全体をスタンドアローンのジョブとしてクックする時にコールされます。 投入されたジョブのステータスURIを返します。

Initialization and Cleanup

Start

onStart Callback

このスケジューラがPDGに登録された時にコールされます。 スケジューラステートを初期化またはセットアップしてください。

Stop

onStop Callback

このスケジューラがPDGから登録解除された時にコールされます。 スケジュラーステートをクリーンアップしてください。

Start Cook

onStartCook Callback

ワークアイテムのスケジュールが組まれる前のクックが開始された時にコールされます。 クックがキャンセルされたらFalseを返し、そうでないならTrueを返します。

Stop Cook

onStopCook Callback

クックが完了またはキャンセルされた時にコールされます。 戻り値は無視されます。

Shared Server

End Shared Server

endSharedServer Callback

既存の共有サーバーインスタンスを閉じます。 成功すればTrueを返します。

Transfer File

transferFile Callback

ファイルがローカルマシンからリモートマシン(例えば、共有ネットワークドライブ)にコピーされた時にコールされます。 これらのファイルは、ワークを実行する上で必要になるので、作業ディレクトリにコピーされます。 ファイルがコピーされたらTrueを返します。

Logging

Log URI

getLogURI Callback

指定したワークアイテムのログを指したURI(例えば、file:///myfarm/tasklogs/jobid20.log)を返します。

Status URI

getStatusURI Callback

指定したワークアイテムのステータスを指したURI(例えば、http://myfarm/status/jobid20)を返します。

See also

TOPノード

  • Attribute Array

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

  • Attribute Copy

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

  • Attribute Create

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

  • Attribute Delete

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

  • Attribute Promote

    ワークアイテム、グローバルアトリビュート、出力ファイルとの間でアトリビュートとフィールドをコピーします。

  • Attribute Reduce

    配列アトリビュート値を単一値に下げます。

  • 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

    条件が満たされた時に警告またはエラーを出します。

  • 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

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

  • Filter by State

    上流のワークアイテムをその状態によってフィルタリングします。

  • 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出力を生成する色々なオペレーションを実行します。

  • Labs Archive Project

    現行HIPファイルの依存関係を収集してアーカイブ(書庫)にするユーティリティTOP。

  • Labs Concatenate Text

    複数のテキストファイルを単一ファイルに結合します。

  • Labs Cut Geometry to Partitions

    入力ジオメトリを分割します。

  • Labs Data Diff

    様々なジオメトリ、テキスト、画像ファイルを比較します。

  • Labs Extract Image Metadata

    iinfoを使用して画像メタデータを抽出します。

  • Labs File Cache Filter

    ファイルのキャッシュ化で使用されるワークアイテムを分割します。

  • Labs File Cache Partitioner

    ファイルキャッシュの範囲とWedge値に基づいてワークアイテムを分割/生成します。

  • Labs Filter by Value

    特定のアトリビュート値で1つ以上のワークアイテムをフィルタリングします。

  • Labs Filter by Value

    指定したアトリビュート値で複数のワークアイテムをフィルタリングします。

  • Labs Generate from Imageplanes

    画像内に見つかった画像平面に基づいてワークアイテムを生成します。

  • Labs Wedge

    アトリビュート値を可変させてワークアイテムを生成します。

  • Local Scheduler

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

  • Make Directory

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

  • Maya Server Begin

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

  • Merge

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

  • Node Pattern

    マッチしたノードに基づいてワークアイテムを生成します。

  • 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 Iteration

    フィードバックループの反復に基づいてワークアイテムを区分けします。

  • Partition by Node

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

  • Partition by Range

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

  • Partition by Tile

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

  • Perforce

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

  • Python Partitioner

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

  • Python Processor

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

  • Python Scheduler

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

  • Python Script

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

  • Python Server Begin

  • ROP Alembic Output

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

  • ROP Composite Output

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

  • ROP FBX Output

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

  • ROP Fetch

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

  • ROP Geometry Output

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

  • ROP Karma Render

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

  • ROP Mantra Render

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

  • ROP USD Output

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

  • Range Extend

    上流のワークアイテムのフレーム範囲を広げて、必要に応じて新しいワークアイテムを追加します。

  • Range Generate

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

  • Render IFD

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

  • SQL Input

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

  • SQL Output

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

  • Send Email

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

  • Service Create

    PDGサービスを作成します。

  • Service Delete

    PDGサービスを削除します。

  • Service Reset

    PDGサービスをリセットします。

  • Service Start

    PDGサービスを起動します。

  • Service Stop

    PDGサービスを停止します。

  • ShotGrid Create

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

  • ShotGrid Delete

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

  • ShotGrid Download

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

  • ShotGrid Find

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

  • ShotGrid Server Begin

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

  • 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を使ってワークアイテムのスケジュールを組みます。

  • URL Request

    URLからデータを要求するワークアイテムを作成します。

  • USD Add Assets to Gallery

    USDアセットをAsset Galleryに追加します。

  • USD Import

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

  • USD Import Files

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

  • USD Render

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

  • Wait for All

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

  • Wedge

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

  • Work Item Expand

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

  • Work Item Import

    .jsonファイルまたは他のTOPノードからワークアイテムを取り込みます。

  • Xml Input

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