このノードには、独自の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 Path
やRemote Shared Root Path
の相対ディレクトリを指定してください。
そのパスは、それらのルートパスに追加されます。
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
ワークアイテムのスケジュールが組まれる前のクックが開始された時にコールされます。 開始されるとTrueを返します。
Stop Cook
onStopCook Callback
クックが完了またはキャンセルされた時にコールされます。 クックが停止されたらTrueを返します。
Shared Server
Logging
Log URI
getLogURI Callback
指定したワークアイテムのログを指したURI(例えば、file:///myfarm/tasklogs/jobid20.log)を返します。
Status URI
getStatusURI Callback
指定したワークアイテムのステータスを指したURI(例えば、http://myfarm/status/jobid20)を返します。
See also |