メソッド ¶
インスタンスメソッド ¶
schedulerContextName()
→ str
サービスに関連付けられているスケジューラのグラフコンテキストの名前を返します。
schedulerName()
→ str
サービスに関連付けられているスケジューラの名前を返します。
setScheduler(name, context_name)
サービスに関連付けるスケジューラインスタンスとそのグラフコンテキストの名前を格納します。 これはサービスの停止と起動をする際に使用します。
getCommand(server_address, server_port, client_num)
→ str
サービスクライアントのコマンド文字列を返します。このコマンド文字列をコール側で使用することで、そのクライアントプロセスを起動することができます。 このコマンド文字列内の環境変数やPDGトークンを展開するかどうかはコール側に委ねられています。
getCommandArgs(server_address, server_port, client_num)
→ list
サービスクライアントのコマンドを引数のリストとして返します。この引数のリストをコール側で使用することで、そのクライアントプロセスを起動することができます。 この引数のリスト内の環境変数やPDGトークンを展開するかどうかはコール側に委ねられています。
getServiceClientName(client_num)
→ str
このメソッドは、指定したクライアント番号を持つクライアントの名前を返します。
クライアント番号は、ゼロから始まるインデックスで、その範囲は0以上pool_size
- 1以下でなければなりません。
addServiceClient(name)
PDGサービスインターフェースを実装したスケジューラがサービスクライアント作成時にこのメソッドをコールする必要があります。 Service Ready Listenerを使用している場合、サービスクライアントが準備できていることを示した時に自動的にクライアントが追加されるので、このメソッドをコール しないでください 。
stop(stop_mq_server, wait_for_clients)
→ bool
サービスを停止します。
stop_mq_server
がFalse
の場合、このメソッドはMQサーバーを停止しません。
wait_for_clients
がTrue
の場合、このメソッドは、すべてのクライアントがシャットダウンしてMQサーバーから接続解除されるまでは返しません。
成功すればTrue
、失敗すればFalse
を返します。
startReadyListener()
この関数は、Ready Listenerスレッドを起動します。 このReady Listenerは、ワークアイテムを受け入れる準備が整った旨のメッセージをサービスクライアントからリッスンします。 これは、ジョブがワークを受け入れる準備が整うまでそのジョブがサービスクライアントに送信されないようにするのに役立ちます。
Note
サービスクライアントは必ず--ready-listener
引数を付けて起動してください。
Ready Listenerはクライアント開始前に起動してください。
incrementStartingClientsCount()
Ready Listenerを利用する時、サービスクライアント生成直前にこれをコールしてください。 このメソッドは、Ready Listenerに受信させたいサービスクライアント準備メッセージの数を知らせるのを補助します。
stopReadyListener()
このメソッドは、サービスクライアントからすべてのReadyメッセージを受信していない場合でもReady Listenerを強制的に停止します。 通常では、これは、クライアントの起動プロセスで何か問題が発生した場合にのみ使用します。
waitForClients()
これは、サービスクライアントすべてが準備完了になるまで待機するブロッキングメソッドです。 また、すべてのReadyメッセージが受信されると、自動的にReady Lisnterスレッドを停止します。
clearScheduler()
サービスがスケジューラサービスの場合、このメソッドは、そのサービスに関連付けられているスケジューラをクリアします。 スケジューラは、サービスが起動できるようになるまでに必ず再び設定しなければなりません。
auto_start
: bool
Property
(サービスがまだ実行されていない場合に)そのサービスを使用する最初のPDGグラフクックによってサービスを自動的に起動するかどうかを示します。
client_logging_dir
: str
Property
クライアントインスタンスによってログファイルが書き出されるディレクトリ。
command
: str
Property
PDG Service Managerがサービスのクライアントインスタンスを起動する際に使用するコマンドライン引数。
connectionTimeout
: str
Property
サービスで使用されている接続タイムアウトを格納します。 このタイムアウトは、サービスクライアント、MQサーバー、Houdini間のすべての接続で使用されます。
data
: object
Property
登録されているサービスに関連付けられているpdg.SchedulerTypeがサービスを起動/停止する必要性があるかどうかを示した情報を含んだobject
。
isInternal
: bool
Property
サービスがPDGの内部サービスかどうかを示します。 内部サービスはユーザ側で設定することはできません。
mqClientName
: str
Property
サービスがMQサーバーを登録する際に使用したクライアント名を格納します。
mqPort
: int
Property
サービスに関連付けられているMQサーバーが使用しているポートを格納します。
mqserver_log_dir
: str
Property
サービスに対して生成されるMQサーバーのログの書き出し先のディレクトリ。
mqserver_log_level
: int
Property
サービスに対して生成されるMQサーバーのログレベル。
(0 = なし, 1 = エラー, 2 = 警告, 3 = すべて)
mqUrl
: str
Property
サービスが使用しているMQサーバーのURLを格納します。
name
: str
Property
サービスの名前。
owner
: pdg.serviceOwner
Property
サービスがスケジューラノードまたはHoudiniセッションで所有されているかどうかを示します。
pool_size
: int
Property
サービスプールで利用可能なクライアントの数。
port
: int
Property
サービスが使用するポート。