| Inheritance |
|
メソッド ¶
applicationBin(name, work_item)
→ str
指定した名前のアプリケーションのパスを返します。
work_item引数を使用することで、Schedulerノード上のパラメータを評価することができます。
例: scheduler.applicationBin('python', None)はPythonベースのジョブで使用されるPython実行可能ファイルのパスを返します。
cleanTempDirectory()
一時ディレクトリとその内容を削除します。
isCompressWorkItemData
: bool
Property
ワークアイテムJSONデータを圧縮するようにスケジューラが構成されている場合はTrueを返します。
isWaitForFailures
: bool
Property
失敗したワークアイテムがクックを終了まで解決されるのを待つようにスケジューラが構成されている場合はTrueを返します。
dependencyGraph(expand_partitions=False)
→ tuple
of dict
従来どおりこのスケジューラによって処理されるワークアイテムの静的ディペンデンシーグラフを返します。 このグラフは、ワークアイテム->ディペンデンシーのマップ、ワークアイテム->ディペンダントのマップ、現在クックの準備ができているワークアイテムのリストを含んだタプルとして表現されています。
expand_partitions引数は、パーティションを通常のワークアイテムのみを含んだ平坦なディペンデンシーグラフに展開するのか、または、パーティションをタプル内に保持するのかを指定します。
name
: str
Property
スケジューラの名前。
cookError(message)
このノードのクックエラーを出します。
cookWarning(message)
このノードのクック警告を出します。
cookWorkItem(work_item)
ワークアイテムのisInProcessプロパティがTrueに設定されている場合、その指定されたIn-Processワークアイテムをクックします。
evaluateBoolOverride(node, prefix, parm, work_item, default_value)
→ bool
スケジューラパラメータが評価されたブール値を返し、このメソッドに渡されたノードによってそのスケジューラパラメータが上書きされているかどうかを調べることができます。
このメソッドは、引数に渡されたノードによってスケジューラパラメータが上書きされていた場合、その上書きされたスケジューラパラメータ値を返します。 上書きされていない場合、そのスケジューラの評価されたパラメータ値を返します。 指定したパラメータがノードにもスケジューラにも見つけることができなかった場合、このメソッドに渡されたデフォルト値が返されます。
node引数には、スケジューラでクックされている現行ワークアイテムのノードを指定してください。
prefixパラメータには、パラメータの接頭辞を指定してください。
例えば、上書き可能なLocal Schedulerパラメータすべてに“local”接頭辞が付いています。
parmはパラメータの名前です。
work_itemはスケジューラで現在クックされているワークアイテムです。
default_valueはparmをノードにもスケジューラにも見つけることができなかった場合に返す値です。
evaluateFloatOverride(node, prefix, parm, work_item, default_value)
→ float
スケジューラパラメータを評価したfloat値を返し、このメソッドに渡されたノードでそのスケジューラパラメータがオーバーライドされているかどうかをチェックします。
このメソッドは、このメソッドに渡されたノードによってスケジューラパラメータがオーバーライドされていれば、そのパラメータ値を返します。 オーバーライドされていなければ、スケジューラが評価したパラメータ値を返します。 このノードまたはスケジューラでそのパラメータが見つからなかった場合、このメソッドに渡されたデフォルト値が返されます。
node引数には、このスケジューラでクックされている現行ワークアイテムのノードを指定してください。
prefixパラメータには、そのパラメータの接頭辞を指定してください。
例えば、オーバーライド可能なすべてのLocal Schedulerパラメータ名の頭には“local”が付いています。
parmは、そのパラメータの名前です。
work_itemは、このスケジューラで現在クックされているワークアイテムです。
default_valueは、そのパラメータがノードまたはスケジューラで見つからなかった場合に返す値です。
evaluateIntOverride(node, prefix, parm, work_item, default_value)
→ int
スケジューラパラメータを評価した整数値を返し、このメソッドに渡されたノードでそのスケジューラパラメータがオーバーライドされているかどうかをチェックします。
このメソッドは、このメソッドに渡されたノードによってスケジューラパラメータがオーバーライドされていれば、そのパラメータ値を返します。 オーバーライドされていなければ、スケジューラが評価したパラメータ値を返します。 このノードまたはスケジューラでそのパラメータが見つからなかった場合、このメソッドに渡されたデフォルト値が返されます。
node引数には、このスケジューラでクックされている現行ワークアイテムのノードを指定してください。
prefixパラメータには、そのパラメータの接頭辞を指定してください。
例えば、オーバーライド可能なすべてのLocal Schedulerパラメータ名の頭には“local”が付いています。
parmは、そのパラメータの名前です。
work_itemは、このスケジューラで現在クックされているワークアイテムです。
default_valueは、そのパラメータがノードまたはスケジューラで見つからなかった場合に返す値です。
evaluateStringOverride(node, prefix, parm, work_item, default_value)
→ str
スケジューラパラメータを評価した文字列値を返し、このメソッドに渡されたノードでそのスケジューラパラメータがオーバーライドされているかどうかをチェックします。
このメソッドは、このメソッドに渡されたノードによってスケジューラパラメータがオーバーライドされていれば、そのパラメータ値を返します。 オーバーライドされていなければ、スケジューラが評価したパラメータ値を返します。 このノードまたはスケジューラでそのパラメータが見つからなかった場合、このメソッドに渡されたデフォルト値が返されます。
node引数には、このスケジューラでクックされている現行ワークアイテムのノードを指定してください。
prefixパラメータには、そのパラメータの接頭辞を指定してください。
例えば、オーバーライド可能なすべてのLocal Schedulerパラメータ名の頭には“local”が付いています。
parmは、そのパラメータの名前です。
work_itemは、このスケジューラで現在クックされているワークアイテムです。
default_valueは、そのパラメータがノードまたはスケジューラで見つからなかった場合に返す値です。
expandCommandTokens(item_command, work_item)
→ str
指定したコマンド内の特別なPDGトークンをスケジューラ特有の値に置換します。
パスとコマンド文字列で使用可能なテキストトークンがいくつかあります。 これらのトークンの目的は、特定のスケジューラで行なう必要のある置換処理を指定できるようにすることです。 スケジューラをローカルマシンにのみ限定すると、パスは絶対パスで間に合います。 ファームスケジューラの場合、マシン固有の置換ができるように環境変数や他の仕組みに基づいてパスを指定する必要があります。 それらのトークンは以下のとおりです:
-
__PDG_ITEM_NAME__ -
__PDG_DIR__ -
__PDG_TEMP__ -
__PDG_SCRIPTDIR__ -
__PDG_RESULT_SERVER__ -
__PDG_PYTHON__ -
__PDG_HYTHON__ -
__PDG_HFS__
formatTransferPath(local_path, default_type=pdg.fileTransferFile.TempDir, local=True, check_type=True)
→ str
このスケジューラ上でpdg.Scheduler.transferFileをコールしてファイルを転送する場合にlocal_pathのコピー先となる宛先パスを返します。
このメソッドを使用すると、ファイルはディレクトリ構造を維持することなく常にターゲットディレクトリに直接コピーされます。
localは、ローカルファイルまたはリモートファイルのパス接頭辞を出力内で使用するかどうかを決めます。
check_typeは、ファイルをどのディレクトリにコピーすべきか判断するためにファイルの拡張子を利用するかどうかを決めます。
check_typeがTrueならば、その拡張子用のディレクトリを決められなかった場合にのみdefault_typeが使用されます。
例えば、Pythonスクリプトとアセットは、それぞれPDGスクリプトディレクトリとPDGアセットディレクトリに転送されます。
それ以外のファイルの場合、check_typeがFalseならば、default_type引数が常にファイルの転送先を決めます。
formatTransferPath(root_path, local_path, sub_path="", default_type=pdg.fileTransferFile.TempDir, local=True, check_type=True)
→ str
このスケジューラ上でpdg.Scheduler.transferFileをコールしてファイルを転送する場合にlocal_pathのコピー先となる宛先パスを返します。
他のタイプのformatTransferPathメソッドとは違って、このメソッドは、そのローカルファイルパス内の中間ディレクトリを維持します。
このlocal_pathにはroot_pathを含めてください。
root_path以降の中間ディレクトリは、転送パス内で維持されます。
sub_pathには、書式化されたパスに追加されるターゲットディレクトリ内のオプションのサブディレクトリを指定します。
localは、出力にローカルファイルパスまたはリモートファイルパスのどちらの接頭辞を使用するのかを決めます。
check_typeは、ファイルをどのディレクトリにコピーすべきか判断するためにファイルの拡張子を利用するかどうかを決めます。
check_typeがTrueならば、その拡張子用のディレクトリを決められなかった場合にのみdefault_typeが使用されます。
例えば、Pythonスクリプトとアセットは、それぞれPDGスクリプトディレクトリとPDGアセットディレクトリに転送されます。
それ以外のファイルの場合、check_typeがFalseならば、default_type引数が常にファイルの転送先を決めます。
getPollingClient()
→ PDGNPollingClient
このスケジューラのMQサーバーのポーリング(問い合わせ)クライアントがあれば、それを返します。 なければ(例えば、このスケジューラがローカルの場合)Noneを返します。
isWorkItemReady(workitem_id, index)
→ pdg.workItemReadyResult
指定したワークアイテムがクックの準備ができている場合はpdg.workItemReadyResult.WorkItemReadyを返します。
そのワークアイテムが依存関係に失敗している場合はWorkItemFailed列挙エントリを返します。
そのワークアイテムがまだ待機中の場合はWorkItemBlockedを返します。
ワークアイテムがバッチでない場合、indexには-1を指定してください。
ワークアイテムがバッチ内のサブアイテムの場合、indexには、そのサブアイテムのバッチインデックスを指定してください。
jobName(work_item)
→ str
ワークアイテムの普段のファームジョブ名を返します。
ワークアイテムにカスタムラベルが設定されていれば、この関数はそのラベルをそのまま返します。
それ以外の場合、@pdg_name @pdg_index:4 @pdg_frame:2の書式による文字列を返します。
localizePath(path)
→ str
スケジューラの作業ディレクトリを基準にリモートパスを展開します。
これは、__PDG_DIR__, __PDG_TEMP__, __PDG_SCRIPTDIR__を現行マシン上の絶対パスに置換します。
delocalizePath(path)
→ str
指定したパスを可能な限り__PDG_DIR__スケジューラテキストトークンに基づいたパスで返します。
onWorkItemAddOutput(workitem_id, index, path, tag, checksum, active_only=False)
ワークアイテムに新しい出力ファイルがあることを示す時にコールされます。
pathはファイルパスの文字列です。
tagはファイルタグ文字列で、checksumは整数値です。
ワークアイテムがバッチでない場合、indexには-1を指定してください。
ワークアイテムがバッチ内のサブアイテムの場合、indexには、そのサブアイテムのバッチインデックスを指定してください。
active_onlyがTrueの場合、スケジューラは、既にクック済みのワークアイテムまたはスケジューラでアクティブになっていないワークアイテムに呼応するこのメソッドのコールを無視します。
onWorkItemAddOutputs(workitem_id, index, paths, tag, checksums, active_only=False)
ワークアイテムに新しい出力ファイルの配列があることを示す時にコールされます。
pathsはファイルパスの文字列の配列で、tagはファイルタグ文字列またはタグ文字列の配列で、
checksumsは整数値の配列です。
ワークアイテムがバッチでない場合、indexには-1を指定してください。
ワークアイテムがバッチ内のサブアイテムの場合、indexには、そのサブアイテムのバッチインデックスを指定してください。
active_onlyがTrueの場合、スケジューラは、既にクック済みのワークアイテムまたはスケジューラでアクティブになっていないワークアイテムに呼応するこのメソッドのコールを無視します。
このメソッドは、pdg.SchedulerBase.onWorkItemAddOutputを複数回コールするよりも効率が良いです。
onWorkItemAppendLog(workitem_id, index, log_data, log_type)
指定したログデータをワークアイテムのログの最後に追加します。
log_typeには、pdg.workItemLogTypeからどれかの列挙値を設定してください。
ワークアイテムがバッチでない場合、indexには-1を指定してください。
ワークアイテムがバッチ内のサブアイテムの場合、indexには、そのサブアイテムのバッチインデックスを指定してください。
onWorkItemCanceled(workitem_id, index)
ワークアイテムがキャンセルされた時にコールされます。
ワークアイテムがバッチでない場合、indexには-1を指定してください。
ワークアイテムがバッチ内のサブアイテムの場合、indexには、そのサブアイテムのバッチインデックスを指定してください。
onWorkItemFailed(workitem_id, index)
ワークアイテムが失敗した時にコールされます。
ワークアイテムがバッチでない場合、indexには-1を指定してください。
ワークアイテムがバッチ内のサブアイテムの場合、indexには、そのサブアイテムのバッチインデックスを指定してください。
onWorkItemFileResult(workitem_id, index, result, tag, checksum, active_only=False)
このメソッドは廃止されました。代わりにpdg.SchedulerBase.onWorkItemAddOutputを使用してください。
onWorkItemInvalidateCache(workitem_id, index)
出力ファイルリストを変更せずに、ワークアイテムのキャッシュを無効にします。 これにより、次のクックでキャッシュファイルを使用せずに、下流のワークアイテムも再クックされます。 これは、ワークアイテムに対して直接pdg.WorkItem.invalidateCacheをコールすることと同じ効果があります。
onWorkItemSetAttribute(workitem_id, attribute_name, values)
このメソッドは廃止されました。pdg.SchedulerBase.onWorkItemSetStringAttribや他のメソッドを使用してアトリビュートを追加してください。
ワークアイテムのアトリビュート値が設定/変更された時にコールされます。
valuesはstr、float、intのどれかの値の配列で、attribute_nameはそのアトリビュートの文字列名です。
onWorkItemSetCookPercent(workitem_id, index, cook_percent)
指定したワークアイテムのクックパーセンテージを設定します。
cook_percent: ワークアイテムの新しい完了率。0はまだ開始されていないことを意味し、100はクックが完了したことを意味します。
ワークアイテムがバッチでない場合、indexには-1を指定してください。
ワークアイテムがバッチ内のサブアイテムの場合、indexには、そのサブアイテムのバッチインデックスを指定してください。
onWorkItemSetCustomState(workitem_id, index, custom_state)
指定したワークアイテムのカスタムステート文字列を設定します。
ワークアイテムがバッチでない場合、indexには-1を指定してください。
ワークアイテムがバッチ内のサブアイテムの場合、indexには、そのサブアイテムのバッチインデックスを指定してください。
onWorkItemSetStringAttrib(workitem_id, index, attribute_name, value, [attrib_index])
ワークアイテム上にアトリビュート値が設定/変更された時にコールされます。
attribute_nameは、そのアトリビュートの名前です。
attrib_indexを渡した場合、アトリビュート内のそのインデックスに値が設定されます。
その場合、valueには文字列を指定してください。
それ以外の場合、valueには文字列のリストを指定してください。
ワークアイテムがバッチでない場合、indexには-1を指定してください。
ワークアイテムがバッチ内のサブアイテムの場合、indexには、そのサブアイテムのバッチインデックスを指定してください。
onWorkItemSetIntAttrib(workitem_id, index, attribute_name, value, [attrib_index])
ワークアイテム上にアトリビュート値が設定/変更された時にコールされます。
attribute_nameは、そのアトリビュートの名前です。
attrib_indexを渡した場合、アトリビュート内のそのインデックスに値が設定されます。
その場合、valueには整数を指定してください。
それ以外の場合、valueには値のリストを指定してください。
ワークアイテムがバッチでない場合、indexには-1を指定してください。
ワークアイテムがバッチ内のサブアイテムの場合、indexには、そのサブアイテムのバッチインデックスを指定してください。
onWorkItemSetFloatAttrib(workitem_id, index, attribute_name, value, [attrib_index])
ワークアイテム上にアトリビュート値が設定/変更された時にコールされます。
attribute_nameは、そのアトリビュートの名前です。
attrib_indexを渡した場合、アトリビュート内のそのインデックスに値が設定されます。
その場合、valueにはfloatを指定してください。
それ以外の場合、valueには値のリストを指定してください。
ワークアイテムがバッチでない場合、indexには-1を指定してください。
ワークアイテムがバッチ内のサブアイテムの場合、indexには、そのサブアイテムのバッチインデックスを指定してください。
onWorkItemSetFileAttrib(workitem_id, index, attribute_name, value, [attrib_index])
ワークアイテム上にアトリビュート値が設定/変更された時にコールされます。
attribute_nameは、そのアトリビュートの名前です。
attrib_indexを渡した場合、アトリビュート内のそのインデックスに値が設定されます。
その場合、valueにはpdg.Fileを指定してください。
それ以外の場合、valueにはpdg.Fileのリストを指定してください。
ワークアイテムがバッチでない場合、indexには-1を指定してください。
ワークアイテムがバッチ内のサブアイテムの場合、indexには、そのサブアイテムのバッチインデックスを指定してください。
onWorkItemSetDictAttrib(workitem_id, index, attribute_name, value, [attrib_index])
ワークアイテム上にアトリビュート値が設定/変更された時にコールされます。
attribute_nameは、そのアトリビュートの名前です。
attrib_indexを渡した場合、アトリビュート内のそのインデックスに値が設定されます。
その場合、valueにはpdg.Dictionaryを指定してください。
それ以外の場合、valueにはpdg.Dictionaryのリストを指定してください。
ワークアイテムがバッチでない場合、indexには-1を指定してください。
ワークアイテムがバッチ内のサブアイテムの場合、indexには、そのサブアイテムのバッチインデックスを指定してください。
onWorkItemSetPyObjectAttrib(workitem_id, index, attribute_name, object_repr)
ワークアイテム上にアトリビュート値が設定/変更された時にコールされます。
object_reprにはPythonオブジェクトのrepr文字列を指定し、attribute_nameには、そのアトリビュートの文字列名を指定してください。
ワークアイテムがバッチでない場合、indexには-1を指定してください。
ワークアイテムがバッチ内のサブアイテムの場合、indexには、そのサブアイテムのバッチインデックスを指定してください。
onWorkItemStartCook(workitem_id, index, clear_outputs=False)
ワークアイテムがクックを開始した時にコールされます。 ワークアイテムが既にクックを完了していれば、このメソッドは何の効果もありません。
ワークアイテムがバッチでない場合、indexには-1を指定してください。
ワークアイテムがバッチ内のサブアイテムの場合、indexには、そのサブアイテムのバッチインデックスを指定してください。
clear_outputsがTrueの場合、以前のクック以降にワークアイテムに追加された既存の出力ファイルがクリアされます。
onWorkItemSucceeded(workitem_id, index)
ワークアイテムが成功して完了した時にコールされます。
指定したワークアイテムがバッチでない場合はindexに-1を、バッチ内のサブアイテムの場合はそのワークアイテムのバッチインデックスを指定してください。
getStatusURI(work_item)
→ str
指定したワークアイテムのステータスURIを返します。
これは、ワークアイテムのMMB詳細ウィンドウで表示されます。
ローカルファイルをfile:///形式で、ウェブページをhttp://形式で表示することができます。
getLogURI(work_item)
→ str
指定したワークアイテムのログURIを返します。
これは、ワークアイテムのMMB詳細ウィンドウで表示され、さらに特別な@pdg_logアトリビュートを利用することができます。
ローカルファイルをfile:///形式で、ウェブページをhttp://形式で表示することができます。
submitAsJob(graph_name, node_name)
→ str
このスケジューラを使って、現行ネットワークをスタンドアローンジョブとして投入します。
典型的に、このジョブはhythonプロセスになり、現行.hipファイルを読み込んで、そのジョブを投入した時点でのスケジューラでのtopnetの表示ノードをクックします。
そのtopnetのクックに使用されるスケジューラは、topnet Default TOP SchedulerパラメータまたはTOPノードのTOP Scheduler Overrideパラメータで決まります。
runOnMainThread(wait, function, work_item=None, *args, **kwargs)
→ object
or pdg.PyDeferredTask
指定したコール可能オブジェクトのfunctionをメインスレッドで実行します。
waitがTrueの場合、このメソッドは、そのfunctionの実行が終了するまでブロックされます。
waitがFalseの場合、このメソッドは即座に返されます。
waitがTrueの場合、このメソッドは、functionで生成された戻り値を返します。
waitがFalseの場合、このメソッドは、メインスレッドで実行されるタスクを参照したpdg.PyDeferredTaskハンドルを返します。
このハンドルに対してpdg.PyDeferredTask.waitをコールすることで、いつでもそのタスク上で待機することができます。
追加の位置引数とキーワード引数は、functionが呼び出された時にそのfunctionに渡されます。
このメソッドは、functionを評価する際に特別なwork_itemキーワード引数を見て、どのワークアイテムをアクティブにするのかを決めます。
その引数を指定すると、そのfunctionが実行するパラメータ評価にそのワークアイテムが使用されます。
メインスレッドで1度に実行できるのは1個の関数だけです。
このメソッドがコールされる度に、そのfunctionが保留中のメインスレッドコールのキューに追加されます。
これらのキューは、PDGグラフがクックされた時にメインスレッドで処理されます。
このグラフがキャンセルされると、まだ実行が開始されていないキューに入ったオペレーションもキャンセルされます。
このメソッドで待機中のスクリプトはブロック解除されて、それが返す結果はNoneになります。
例えば、Python Script TOP内に以下のコードを記述すると、Qtダイアログ内のOKボタンがクリックされるまでクックの継続をブロックするQtメッセージを表示するワークアイテムが作成されます:
def show_dialog(message, text): from hutil.Qt import QtWidgets dialog = QtWidgets.QMessageBox() dialog.setWindowTitle(message) dialog.setText(text) dialog.exec_() work_item.node.scheduler.runOnMainThread( True, show_dialog, "Cook PDG Message", "Click 'OK' to continue cooking.")
transferFile(local_path, default_type=pdg.fileTransferType.TempDir, check_type=True)
→ bool
ローカルファイルをスケジューラの作業ディレクトリに転送します。
local_pathがファイルの場合、そのファイルが宛先ディレクトリに直接コピーされ、中間パスは維持されません。
処理が成功するとTrueを返し、ファイル転送中にエラーが発生した場合は例外が引き起こされます。
check_typeは、ファイルをどのディレクトリにコピーすべきか判断するためにファイルの拡張子を利用するかどうかを決めます。
check_typeがTrueならば、その拡張子用のディレクトリを決められなかった場合にのみdefault_typeが使用されます。
例えば、Pythonスクリプトとアセットは、それぞれPDGスクリプトディレクトリとPDGアセットディレクトリに転送されます。
それ以外のファイルの場合、check_typeがFalseならば、default_type引数が常にファイルの転送先を決めます。
transferFile(root_path, local_path, sub_path="", default_type=pdg.fileTransferType.TempDir, check_type=True)
→ bool
ローカルファイルをスケジューラの作業ディレクトリに転送します。
root_pathとlocal_pathの間にある中間のパスは維持されます。
処理が成功するとTrueを返し、ファイル転送中にエラーが発生した場合は例外が引き起こされます。
オプションのsub_path引数には、宛先パスに追加したいターゲットディレクトリ内のサブディレクトリを指定します。
check_typeは、ファイルをどのディレクトリにコピーすべきか判断するためにファイルの拡張子を利用するかどうかを決めます。
check_typeがTrueならば、その拡張子用のディレクトリを決められなかった場合にのみdefault_typeが使用されます。
例えば、Pythonスクリプトとアセットは、それぞれPDGスクリプトディレクトリとPDGアセットディレクトリに転送されます。
それ以外のファイルの場合、check_typeがFalseならば、default_type引数が常にファイルの転送先を決めます。
workingDir(local)
→ str
localがTrueの場合、作業ディレクトリのローカル絶対パスを返します。
Falseの場合、このスケジューラ特有のそのパスのリモートバージョンを返します。
これは__PDG_DIR__と等価です。
tempDir(local)
→ str
localがTrueの場合、一時ディレクトリのローカル絶対パスを返します。
Falseの場合、このスケジューラ特有のそのパスのリモートバージョンを返します。
これは、ログファイルやスクリプトファイルなどのクックの一時ファイルの保存に使用されるpdgtempサブディレクトリを含んだディレクトリです。
scriptDir(local)
→ str
localがTrueの場合、一時スクリプトディレクトリのローカル絶対パスを返します。
Falseの場合、このスケジューラ特有のそのパスのリモートバージョンを返します。
これは、tempDir(local) + "/scripts"と等価のパスを返す便利メソッドです。
logDir(local)
→ str
localがTrueの場合、一時ログディレクトリのローカル絶対パスを返します。
Falseの場合、このスケジューラ特有のそのパスのリモートバージョンを返します。
これは、tempDir(local) + "/logs"と等価のパスを返す便利メソッドです。
preExecProcess()
→ None
子プロセスが実行される直前にローカルサブプロセスでコールしてください(Posixのみ)。 新しいセッションを作成し、os.killpgで利用できるように新しいpidと同じgroupidを割り当てます。 これによって、サブプロセスツリー全体をクリーンアップすることができます。 さらに、そのサブプロセスの寿命は親プロセスに依存するので、その親プロセスが死亡するとSIGTERMがそのサブプロセスに送信されます。
postExecProcess(pid)
→ None
ローカルサブプロセスを起動した後に、そのローカルサブプロセスを設定する時にコールします。 サブプロセスの寿命は親プロセスに依存します。
maxThreads()
→ int
プロセスで利用可能な論理CPUコア数を返します。
これは、hou.setMaxThreads()またはHOUDINI_MAXTHREADS環境変数で変更しない限りローカルマシンのコア数と同じです。
dataDir(local)
→ str
localがTrueの場合、一時データディレクトリのローカル絶対パスを返します。
Falseの場合、このスケジューラ特有のそのパスのリモートバージョンを返します。
これは、tempDir(local) + "/data"と等価のパスを返す便利メソッドです。
このディレクトリには、通常ではジョブスクリプトで使用するJSONフォーマットでシリアライズされたワークアイテムが格納されます。
setAcceptInProcess(accept_in_process)
スケジューラがIn-Processワークアイテムを受け入れるかどうかを設定します。
デフォルトでは、これはFalseになっています(In-Process Scheduler TOPを除く)。
setWorkingDir(local_path, remote_path)
→ None
ローカル作業ディレクトリパスとリモート作業ディレクトリパスの値を設定します。
workingDirを参照してください。
setTempDir(local_path, remote_path)
→ None
ローカル一時ディレクトリパスとリモート一時ディレクトリパスの値を設定します。
tempDirを参照してください。
workItemResultServerAddr()
→ str
ワークアイテム結果サーバーのネットワークエンドポイントを<HOST>:<PORT>の書式で返します。
これは、__PDG_RESULT_SERVER__コマンドトークンや$PDG_RESULT_SERVERジョブ環境変数と等価です。
通常では、これがXMLRPC APIサーバーになります。
setWorkItemResultServerAddr(addr)
→ None
workItemResultServerAddrが返す値を設定します。
startService(service)
→ bool
PDG Service Managerは、このメソッドをコールして、このスケジューラが使用するサービスを起動します。 このスケジューラは、PDGサービスに対応させる場合には必ずこのメソッドの実装を用意しなければなりません。
このメソッドは、成功すればTrue、失敗すればFalseを返します。
stopService(service)
→ bool
PDG Service Managerは、このメソッドをコールして、このスケジューラで起動されたサービスを停止します。 このスケジューラは、PDGサービスに対応させる場合には必ずこのメソッドの実装を用意しなければなりません。
このメソッドは、成功すればTrue、失敗すればFalseを返します。
workItemDataSource
: pdg.workItemDataSource
Property
このスケジューラのpdg.workItemDataSource設定で、ワークアイテムデータをリモートワーカーマシンに転送する方法を決めます。
Methods from pdg.TypeInstance ¶
type
: pdg.BaseType
Property
このインスタンスの構築に使用されているpdg.BaseTypeオブジェクト。
typeName
: str
Property
typeオブジェクトのタイプ名。