Houdini 17.0 HQueue

ジョブの管理

On this page

HQueue Webインターフェースの JOBS ページを使って、実行中のジョブと完了したジョブを管理します。

HQueue Webインターフェースのジョブリスト

以下は、 JOBS ページのトップに表示されるデータのリストです:

ラベル名

説明

Active Jobs

アクティブなすべてのジョブの数(つまり、 RUNNING JOBS テーブルにあるすべてのジョブとそれらの子ジョブ)。

Running Jobs

クライアントで実行中のすべてのジョブの数。これには、子ジョブのラッパーにすぎないどのクライアントにも割り当てられないトップレベルのジョブを含みません。

Clients

ファーム上に登録されているすべてのクライアントの数。

Clients Running Jobs

ジョブを実行しているすべてのクライアントの数。

ジョブリストで表示される項目を以下で説明します:

項目

説明

(名前なし)

ジョブを選択するチェックボックスです。リストの下部にあるボタンを使って、選択したジョブにそのアクションを適用します。

Job Id

ジョブの固有ID。IDをクリックするとジョブの詳細が表示されます。

Name

ジョブの名前と説明。

Submitted By

ジョブを投入したユーザアカウント。

Priority

ジョブの優先度。高い優先度のジョブが低い優先度のジョブよりも先にクライアントに割り当てられます。0が一番低い優先度です。

Status

ジョブの状況。ジョブの状況を参照してください。

Progress

ジョブの進捗状況をパーセンテージで表示します。

Tasks

子ジョブの状況。この項目の1番目の数値は終了した子ジョブの数を表示し、2番目の数値は合計の子ジョブの数を表示します。失敗/キャンセル/中断した子ジョブがあれば、この項目の最後に"n failed"とメッセージを追加します。このnは失敗した子ジョブの数です。

Time

この項目は、実行中のジョブの経過時間と完了したジョブの完了に費やした時間を表示します。

Elapsed time: 実行中のジョブの経過時間。

Time to Complete: ジョブの完了に費やした時間。

ETA

ジョブが完了するまでの残りの推定時間。

Submission Time

ジョブがファームに投入された時の時刻。

Notes(ラベルなし)

ジョブにノートが添付されているかどうか示します。

→ ノートが存在します。アイコンにマウスカーソルを当てるとノートが表示されます。アイコンをクリックするとノートがフルスレッドで表示されます。

→ ノートがありません。アイコンをクリックすればノートを添付することができます。

ジョブビューのページ

ジョブリストからジョブIDをクリックするとジョブの詳細が表示されます。

ジョブビューのページ

JOB DETAILS セクションのフィールドを以下のテーブルで説明します:

フィールド

説明

Name

ジョブの名前と説明。

Submitted By

ジョブを投入したユーザアカウント。

Id

ジョブの固有ID。

Parent Job(s)

このジョブに依存しているジョブ。親のジョブのIDをクリックすると、その詳細が表示されます。ジョブに親がなければ、このフィールドは非表示になります。

Clients

ジョブを処理するために割り当てたクライアント。ジョブに割り当てたクライアントがなければ、このフィールドは非表示になります。

Status

ジョブの状況。ジョブの状況を参照してください。

Overall Progress

このジョブとその子ジョブの進捗状況をパーセンテージで表示します。

ETA

ジョブが完了するまでの残りの推定時間。

Properties

'View'のリンクをクリックすると、そのジョブのプロパティのリストが表示されます。Properitiesダイアログを参照してください。

Status Log

'View'のリンクをクリックすると、状況の変化のログが表示されます。状況の変化がなければ、このフィールドは非表示になります。

Cleanup

ジョブが成功しても失敗しても関係なく、ジョブが終了した後に実行するスクリプト。ジョブに割り当てたスクリプトがなければ、このフィールドは非表示になります。

Command

ジョブがクライアントマシンに割り当てられた時に実行するコマンド。ジョブにコマンドがなければ、このフィールドは非表示になります。

Output Log

ジョブのコマンドセットの実行で組み合わせたSTDOUTとSTDERRの出力。'Download Output'のリンクをクリックすると、すべてのコマンドの出力をみることができます。ジョブにコマンドがなければ、このフィールドは非表示になります。

Propertiesダイアログ

Propertiesダイアログには、ジョブのプロパティでリストしたジョブのプロパティと以下のプロパティが含まれています:

プロパティ

説明

Queue time

ジョブがサーバーキューに追加された時刻。

Runnable time

ジョブがクライアントマシンに割り当て可能になった時の時刻。

Command start time

ジョブがコマンドセットの実行を開始した時刻。

Command end time

ジョブがコマンドセットの実行を終了した時刻。

Start time

ジョブが割り当てられたクライアントマシンでジョブの実行を開始した時刻。

End time

ジョブが終了した時刻。

Time to complete

ジョブが完了した時間。

Time in queue

ジョブがクライアントマシンで実行を開始する前に費やした待ち時間。ジョブが開始していなければ、このフィールドは非表示になります。

Time to run command

ジョブが実行を終了するのに費やした時間。ジョブが終了していなければ、このフィールドは非表示になります。

Requirements

ある条件に相当する一行おきのクライアント条件のセット。クライアントマシンが、そのジョブを処理できるようになるには、その条件に一致しなければなりません。ジョブに条件がなければ、このフィールドは非表示になります。

Environment

クライアントの環境変数のセット。環境変数が設定されていなければ、このフィールドは非表示になります。

ジョブのサブミット

Houdiniからジョブをサブミット

ジョブをサブミットする方法を参照してください。

Pythonからジョブをサブミット

PythonからカスタムジョブをHQueueにサブミットすることが可能です。以下にサンプルのスクリプトを載せます:

# -*- coding: utf-8 -*-
import xmlrpclib

# HQueueサーバーに接続します。
hq_server = xmlrpclib.ServerProxy("http://hq_server_hostname:5000")

# "Hello World!"を出力するジョブを定義します。
job_spec = { 
    "name": "Print Hello World",
    "shell": "bash",
    "command": "echo 'Hello World!'"
}

# ジョブをサーバーにサブミットします。
# newjob()は、ジョブのIDをリストで返します(同時に複数のジョブを渡す場合)。
job_ids = hq_server.newjob(job_spec)

# ジョブのステータスを照会します。
status = hq_server.getstatus(job_ids[0])
print "Status: ", status

HQueueのスクリプトの作り方は、Python APIを参照してください。

ジョブのスケジュール変更

JOBS ページに移動して、ターゲットのジョブのチェックボックスをチェックして、ジョブリストの下部にある'Reschedule'ボタンをクリックします。 チェックボックスを複数チェックすれば、一度に複数のジョブのスケジュールを変更することができます。

ジョブのスケジュールを変更すると、スケジュールキューに戻され、そこで利用可能なクライアントマシンを待ちます。ジョブのスケジュールを変更すると、親のジョブと失敗した子ジョブのスケジュールも変更します。

失敗、放棄、キャンセルしたジョブだけをスケジュール変更するには、ジョブリストの下部にある'Reschedule Failed Jobs'ボタンをクリックします。

Note

実行中のジョブのスケジュールを変更することはできません。

ジョブのキャンセル

JOBS ページに移動して、ターゲットのジョブのチェックボックスをチェックして、ジョブリストの下部にある'Cancel'ボタンをクリックします。 チェックボックスを複数チェックすれば、一度に複数のジョブをキャンセルすることができます。

ジョブをキャンセルすると、割り当てたクライアントマシンでジョブが終了し、スケジュールキューから削除されます。ジョブをキャンセルすると子ジョブもキャンセルされます。

Note

実行中のジョブのみをキャンセルすることができます。

ジョブの停止

JOBS ページに移動して、ターゲットのジョブのチェックボックスをチェックして、ジョブリストの下部にある'Pause'ボタンをクリックします。 チェックボックスを複数チェックすれば、一度に複数のジョブを停止することができます。

ジョブを停止すると、割り当てたクライアントマシンでジョブが停止します。ジョブはスケジュールキューに残り、そこでユーザがジョブを再開またはキャンセルするのを待ちます。ジョブを停止すると、その子ジョブも停止されます。

Note

終了していないジョブのみを停止することができます。

ジョブの再開

JOBS ページに移動して、ターゲットのジョブのチェックボックスをチェックして、ジョブリストの下部にある'Resume'ボタンをクリックします。 チェックボックスを複数チェックすれば、一度に複数のジョブを再開することができます。

ジョブを再開すると、割り当てたクライアントマシンでジョブが再開して実行を続けます。ジョブを再開すると、その子ジョブも再開されます。

Note

停止したジョブのみを再開することができます。

ジョブの削除

JOBS ページに移動して、ターゲットのジョブのチェックボックスをチェックして、ジョブリストの下部にある'Delete'ボタンをクリックします。 チェックボックスを複数チェックすれば、一度に複数のジョブを削除することができます。

ジョブを削除すると、システムから 永久に削除 されます。ジョブを削除すると、その子ジョブも削除されます。

失敗、中断、キャンセルされたジョブだけを削除するには、ジョブリストの下にある'Delete Failed Jobs'ボタンをクリックします。

終了(失敗、中断、キャンセル、成功)したジョブだけを削除するには、ジョブリストの下にある'Delete Finished Jobs'ボタンをクリックします。

Note

完了したジョブのみを削除することができます。

HQueue