genvid.toolbox.NomadTool
- class genvid.toolbox.NomadTool(use_wan=False, **kwargs)
ベースクラス:
ConsulTool
Nomad のジョブを処理するための class。
バージョン 1.19.0 で変更: use_wan パラメータで、サービスアドレスを TaggedAddress "wan" に置き換えます。デフォルトでは、内部登録アドレスを使用します。
- get_nomad_client_addr(*, timeout=0.0) tuple
Consul から nomad-client サービスアドレスとポートを取得する。
発見した最初のサービスを返す。
- パラメータ
timeout -- サービスのタイムアウト。
- get_nomad_client_url(*, timeout=0.0, nomad_url: Optional[str] = None, **kwargs) str
Nomad クライアント URL の Query Consul
- パラメータ
timeout -- サービスが値を返すまでのタイムアウト。
- 戻り値
nomad-client のURL。
- property nomad: Nomad
python-nomad パッケージからの Nomad クライアント。
- run_nomad(action: str, *args, nomad_url: Optional[str] = None, **kwargs)
指定のアクションと、その他の引数で、Nomad を実行する。
このメソッドは、
get_nomad_client_url()
からの正しいアドレスを Nomad に確実に渡す。- パラメータ
action -- 実行するアクション ('run'、'plan'、'stop' など)。
- static check_alloc(alloc, allocid=None, task=None, group=None, job=None, index=None, state=None)
割り当てが指定した条件に一致するかどうかチェックする。
以下のものがマッチします。
allocid: 割り当て ID がこのプレフィックスで始まる。
task: タスクは、割り当ての一部。
group: グループは、割り当ての一部。
job: ジョブは、割り当てジョブ ID。
index: 割り当てのインデックス。
- state: タスクが指定されている場合、タスクがこのステータスになっているかをチェックする。
タスクが指定されていない場合、このステータスのタスクが存在するかをチェックする。
- get_last_alloc(**kwargs)
すべての条件を満たす直前の割り当てを取得する。
- show_alloc_log(follow=False, tail=False, lines=10, logfilename=None, stdout=False, **kwargs)
すべての条件を満たす最新のアロケーションを所得し、ログを表示する。
条件は
check_alloc()
と同じ。その他のパラメータは次の通りです。- follow: ファイルの最後に到達しても停止せず、
追加コンテンツを待機する。
tail: テキストの最後の lines を表示する。
- lines: tail で、表示するライン数を調整する (デフォルトは
10)。
- logfilename: 表示するファイル名。デフォルトは
stderr を表示する。
- stdout: logfile を指定しない場合、以下の代わりに、stdout を表示:
stderr を表示する。
- add_logs_commands()
ログコマンドをパーサーに追加する。
ログ
add_commands()
から実行し、ログコマンドをパーサーに追加する。
- run_logs_command(command, options)
コマンドがログコマンドかどうかを検出し、実行する。
run_command()
から呼び出し、ログコマンドを処理する。add_logs_commands()
により、ジョブコマンドが追加される。戻り値:
- handled, result: コマンドを処理したかどうかを示す、ブール値のトプル。
処理した場合は結果を返す。
- class nomad.NomadTool