Inheritance |
|
このオブジェクトのメソッドを使用することで、グラフ構造を照会してワークアイテムを検索することができます。
メソッド ¶
静的メソッド ¶
workItem(id)
→ pdg.WorkItem
Static method
すべてのPDGグラフにおいて固有である指定したIDを持つワークアイテムを返します。
そのIDを持つワークアイテムが存在しなかった場合はNone
を返します。
インスタンスメソッド ¶
bindGlobalAttribute(attrib_name, work_item)
既存のグローバルアトリビュートを、指定したpdg.WorkItemインスタンスの寿命に紐付けます。
boundAttributeWorkItem(attrib_name)
→ pdg.WorkItem
指定したグローバルアトリビュートが紐付けられているワークアイテムを返します。
そのアトリビュートが存在しない、または、どのワークアイテムにも紐付けられていない場合はNone
を返します。
dependencyGraph(expand_partitions=False, scheduler=None)
→ tuple
of dict
ワークアイテムが依存しているアイテム、ワークアイテムに依存されているアイテム、現在クックの準備ができているアイテムのリストのマップを含んだタプルとして表現された静的なディペンデンシーグラフ全体を返します。
expand_partitions
引数は、パーティションを通常のワークアイテムのみを含んだ平坦なディペンデンシーグラフに展開するのか、または、タプルで維持するのかどうかを設定します。
pdg.SchedulerBaseを引数に渡すと、そのスケジューラで処理されるワークアイテムのみが含まれるようにディペンデンシーグラフがフィルタリングされるようになります。
dirty(remove_outputs)
グラフ内のすべてのワークアイテムを削除します。
remove_outputs
がTrue
の場合、それらのワークアイテムのディスク上の出力ファイルが削除されます。
グラフが現在クック中にそのグラフをDirty(変更あり)にすることは無効です。
nodePort(full_name)
→ pdg.Port
ドット区切りで連結させたノードポート名(例えば、processor.command
)を使ってポートオブジェクトを検索します。
prepareDirty()
→ pdg.WorkItemDirty
グラフ内のワークアイテムをDirty(変更あり)にする準備をしますが、その操作をそのグラフに適用しません。 代わりに、そのDirty操作は後でそのグラフに適用できるようにpdg.WorkItemDirtyインスタンスに格納されます。
workItemById(id)
→ pdg.WorkItem
指定した固有IDのワークアイテムを返します。そのIDのワークアイテムが存在しなければNone
を返します。
workItemByName(name)
→ pdg.WorkItem
指定した固有名のワークアイテムを返します。その名前のワークアイテムが存在しなければNone
を返します。
Methods from pdg.AttributeOwner ¶
addAttrib(name, type:
pdg.attribType, overwrite=
pdg.attribOverwrite.Match, error_level=
pdg.attribErrorLevel.Error)
→ pdg.AttributeFile or pdg.AttributeFloat or pdg.AttributeInt or pdg.AttributePyObject or pdg.AttributeString
指定した名前とタイプのアトリビュートを追加します。
オプションのoverwrite
引数にpdg.attribOverwrite列挙の値を設定することで、オブジェクトに既に同じname
のアトリビュートが存在した場合の挙動を制御することができます。
デフォルトでは、同じ名前で同じタイプのアトリビュートが既に存在した場合、既存のアトリビュートが返されます。
同じ名前で異なるタイプのアトリビュートが既に存在した場合、例外が発生します。
overwrite
引数にpdg.attribOverwrite.Alwaysを設定した場合、既存のアトリビュートが削除され、新しいtype
のアトリビュートに置換されます。
オプションのerror_level
引数を使用することで、PDGハンドルが失敗した場合の挙動を制御することができます。
デフォルトでは、失敗の原因を示したメッセージを出して例外が発生します。
代わりにpdg.attribErrorLevel.Warn列挙値を渡して、このオブジェクトがワークアイテムだった場合、そのワークアイテムを所有するノードにエラーメッセージが警告として追加されます。
または、pdg.attribErrorLevel.Quiet列挙値を渡すと、すべてのエラー報告が抑止されます。
error_level
引数にError
以外の値を設定した場合、このメソッドは、アトリビュートを追加できなかった時にNone
を返します。
attrib(name)
→ pdg.AttributeFile or pdg.AttributeFloat or pdg.AttributeInt or pdg.AttributePyObject or pdg.AttributeString
指定した名前のアトリビュートを返します。そのようなアトリビュートが存在しなければNone
を返します。
このアトリビュートは、pdg.attribTypeに載せているアトリビュートタイプのどれかになります。
このアトリビュートをattrib_owner.attrib[name]
として記述することもできます。
attribArray(name)
→ list
of int
, float
, str
or pdg.File
アトリビュートに格納されている配列を返します。
attribHash(include_internal=True, include_unowned=True, only_static=False)
→ int
すべてのアトリビュート値に基づいて計算されたハッシュ値を返します。 これは、クック間でオブジェクトを区別するのに役立ちます。
include_internal
引数は、そのハッシュ処理においてPDG自体(例えば、ワークアイテムの入力/出力ファイル、または、コマンド文字列)で定義されている内部アトリビュートを含めるのかどうかを決めます。
これがワークアイテムで、include_unowned
引数がFalse
の場合、そのハッシュ処理は、そのワークアイテムを所有しているノードによって修正または追加されたアトリビュートのみを考慮します。
それ以外の場合、すべてのアトリビュートが考慮されます。
これがワークアイテムで、only_static
引数がTrue
の場合、そのハッシュ処理は、そのワークアイテムが生成された時に作成されたアトリビュートのみを考慮します。
そのワークアイテムがスケジュールに組まれた時やクックされた時に追加/修正されたアトリビュートは、そのハッシュ処理には考慮されません。
attribMatch(pattern)
→ list
of str
指定したpdg.AttributePatternインスタンスにマッチしたアトリビュートの名前のリストを返します。
attribNames(type=pdg.attribType.Undefined)
→ list
of str
type
がpdg.attribType.Undefinedに設定されている場合、すべてのアトリビュートの名前のリストを返します。
それ以外の場合、指定したタイプのアトリビュートの名前のリストを返します。
attribValue(name, index=0)
→ int
, float
, str
or pdg.File
指定したインデックスにおけるアトリビュートの値を返します。
このアトリビュートをattrib_owner[name][index]
として記述することもできます。
attribValues(type=pdg.attribType.Undefined)
→ dict
of list
of int
, float
, and str
type
がpdg.attribType.Undefinedに設定されている場合、すべてのアトリビュート名とその値のマップを返します。
それ以外の場合、指定したタイプのすべてのアトリビュート名とその値のマップを返します。
attribType(name)
→ pdg.attribType
指定した名前のアトリビュートのタイプを返します。
その名前のアトリビュートが存在しなかった場合はpdg.attribType.Undefined
を返します。
clearAttribs()
すべてのアトリビュートをクリアして削除します。
eraseAttrib(name)
指定した名前のアトリビュートを消去します。
fileAttribValue(name, index=0)
→ pdg.File
指定したインデックスにおけるファイルアトリビュート値を返します。
floatAttribArray(name)
→ list
of float
浮動小数点アトリビュート配列を返します。
floatAttribValue(name, index=0)
→ float
指定したインデックスにおける浮動小数点アトリビュート値を返します。
hasAttrib(name)
→ bool
このオブジェクトが指定した名前のアトリビュートを持っていればTrue
を返します。
intAttribArray(name)
→ list
of int
整数アトリビュート配列を返します。
intAttribValue(name, index=0)
→ int
指定したインデックスにおける整数アトリビュート値を返します。
loadAttributes(file_path, collision_strategy)
→ bool
指定したJSONファイルからアトリビュートデータをこのオブジェクトに読み込みます。
collision_strategy
引数には、pdg.attribCollisionStrategyのどれかの列挙値を指定してください。
lockAttributes()
→ pdg.LockAttributesBlock
コンテキストマネージャを使用して、このアトリビュートをロックします。 コンテキストマネージャを使用している間は、他のスレッドがアトリビュートを修正してしまわないか心配することなく、そのアトリビュートを安全に修正することができます。
例:
with attrib_owner.lockAttributes(): attrib_owner.setIntAttrib("example", 10)
Note
onGenerate
やonPartition
などのPDGノードコールバック内でワークアイテムに対してこのメソッドを コールしないでください 。
PDGノードは、コールバックがすべてのワークアイテムに安全にアクセスできることを既に保証しています。
numAttribs(type=pdg.attribType.Undefined)
→ int
type
がpdg.attribType.Undefinedに設定されている場合、マップ内のアトリビュートの数を返します。
それ以外の場合、指定したタイプのアトリビュートの数を返します。
pyObjectAttribValue(name)
→ object
指定したアトリビュートに格納されているPythonオブジェクトを返します。
renameAttrib(src_name, dst_name, overwrite_existing=False)
→ bool
src_name
というアトリビュート名をdst_name
に変更します。
saveAttributes(file_path)
→ bool
このオブジェクトに格納されているアトリビュートデータをJSONとして、指定したファイルパスに保存します。
そのファイルパスが.gz
で終わっている場合、そのファイルはGZipを使用して圧縮されます。
それ以外の場合、そのファイルはプレーンテキストのJSONとして保存されます。
setAttribFlag(name, flag, value=True)
指定したアトリビュートに対してpdg.attribFlagを設定またはクリアします。
setFileAttrib(name, value, index=0, overwrite=
pdg.attribOverwrite.Match)
指定したインデックスにファイルアトリビュート値を設定します。 このアトリビュートが 存在しなかった 場合には作成されます。
オプションのoverwrite
引数は、同じname
で異なるタイプのアトリビュートが既に存在した場合の挙動を決めます。
詳細は、pdg.AttributeOwner.addAttribを参照してください。
setFloatAttrib(name, value, index=0, overwrite=
pdg.attribOverwrite.Match)
指定したインデックスに浮動小数点アトリビュート値を設定します。 このアトリビュートが 存在しなかった 場合には作成されます。
オプションのoverwrite
引数は、同じname
で異なるタイプのアトリビュートが既に存在した場合の挙動を決めます。
詳細は、pdg.AttributeOwner.addAttribを参照してください。
setIntAttrib(name, value, index=0, overwrite=
pdg.attribOverwrite.Match)
指定したインデックスに整数アトリビュート値を設定します。 このアトリビュートが 存在しなかった 場合には作成されます。
オプションのoverwrite
引数は、同じname
で異なるタイプのアトリビュートが既に存在した場合の挙動を決めます。
詳細は、pdg.AttributeOwner.addAttribを参照してください。
setPyObjectAttrib(name, value, overwrite=
pdg.attribOverwrite.Match)
Pythonオブジェクトアトリビュート値を設定します。 このアトリビュートは、そのオブジェクト上の参照カウントを増やして、そのアトリビュート自体が存在している間はそのオブジェクトが存在することを保証します。
オプションのoverwrite
引数は、同じname
で異なるタイプのアトリビュートが既に存在した場合の挙動を決めます。
詳細は、pdg.AttributeOwner.addAttribを参照してください。
setStringAttrib(name, value, index=0, overwrite=
pdg.attribOverwrite.Match)
指定したインデックスに文字列アトリビュート値を設定します。 このアトリビュートが 存在しなかった 場合には作成されます。
オプションのoverwrite
引数は、同じname
で異なるタイプのアトリビュートが既に存在した場合の挙動を決めます。
詳細は、pdg.AttributeOwner.addAttribを参照してください。
stringAttribArray(name)
→ list
of str
文字列アトリビュート配列を返します。
stringAttribValue(name, index=0)
→ str
指定したインデックスの文字列アトリビュート値を返します。
timeDependentAttribs()
→ list
of str
時間依存のアトリビュートのリストを返します。 このメソッドは、バッチの親の共有アトリビュートを所有しているバッチ内のワークアイテムに対して主に使用します。