Houdini 20.0 HQueue

リソース

各クライアントで利用可能なリソース(例えば、ライセンス)を指定することができるので、そのジョブを実行可能なクライアントに対してそのジョブのスケジュールを組むことができます。

On this page

概要

リソースとは、特定のジョブを実行する際に必要となるもののことで、例えば、HoudiniライセンスやMantra Renderライセンスのことを指します。 クライアント上で利用可能なリソースを指定することで、HQueueは特定のリソースを必要とするジョブを適切にスケジュールに組むことができます。

HQueueは、最低でも1個の未使用ライセンスが利用可能な場合、 または既にライセンスを使用しているマシン上で他のジョブを実行できる場合 でのみ、ライセンスを必要とするジョブのスケジュールを組みます。 例えば、HoudiniライセンスとRender/Karmaライセンスは“マシン毎のリソース”です。つまり、ジョブ毎ではなく、マシン毎に消費されるライセンスです。

あなた自身でカスタムリソースを登録することで、サードパーティのライセンス、データベースのロックなどの他のタイプの外部リソースを必要とするジョブのスケジューリングをガイドすることができます。

How to

ウェブブラウザからHQueueサーバー(http://hostname:5000/)に接続します。 Menuアイコン上にマウスカーソルを移動させてから、 Resources をクリックします。

Resourcesページは、利用可能なりソースと使用中のリソースの集計結果を表示します。

To...Do this

HQueueで利用可能なライセンス数を変更する

利用可能なライセンス数を減らす場合は、その数が現在使用中のライセンス数よりも少なくならないようにしてください。

  1. Resourceページで、 Manage Resources をクリックします。

  2. HQueueが使用可能なHoudiniライセンスとRender/Karmaライセンスの最大数を設定してから、 Save をクリックします。

カスタムリソース

カスタムリソースには、 マシン毎 または ジョブ毎 のどちらかを指定することができます。

Per Machine

単一マシンで使用されるリソース。これは、そのマシン上で実行されるすべてのジョブで共有されます。 例えば、Houdiniライセンスがワークステーションで使用されていても、そのワークステーション上であれば、複数のHoudiniインスタンスを立ち上げることができます。

Per Job

単一ジョブで消費されるリソース。例えば、データベース接続を同時に1ジョブに制限することができます。

To...Do this

カスタムリソースを作成する

  1. Resourcesページで、 Manage Resources をクリックします。

  2. Custom Resources下にある Add をクリックします。

  3. リソース名と最大リソース数を設定します。リソースがマシン毎であれば、 Per machine resource を有効にします。

  4. Save をクリックします。

例えば、データベースに接続する一連のジョブがあって、同時接続数を制限したいとします。 接続を表現したジョブ毎のカスタムリソースを作成して、そのリソース名をdb_connectionにして、最大リソース数を5にします。

接続を必要とするジョブを投入すると、そのジョブの仕様には"resources": {"db_connection": 1}プロパティが追加されて、そのジョブが1個のdb_connectionリソースを消費することがHQueueに伝わります。

カスタムリソースを編集する

  1. Resourcesページで、 Manage Resources をクリックします。

  2. Custom Resources下で、以下のどれかを行ないます:

    • リソース名テキストボックスを編集します。

    • 利用可能なリソースの最大数を変更します(現在使用中のリソース数よりも少なくならないようにしてください)。

    • リソースをマシン毎にするかどうかを変更します(使用中のリソースには変更は反映されません)。

    • Delete をクリックしてカスタムリソースを削除します。

  3. Save をクリックします。

カスタムリソースを必要とするジョブを投入する方法

XML/RPCインターフェースを使ってカスタムジョブを投入する時、ジョブがカスタムリソースを必要とするように指定することができます。

ジョブ仕様内にresourcesキーを追加します。 この値は、カスタムリソース名とそのジョブで必要なリソースの数をマッピングした辞書です。

job_spec = { 
    "name": "Hello World",
    "shell": "bash",
    "command": 'echo "Hello World"'
    "resources": {"db_connection": 1}
}

ジョブ仕様に関する詳細は、ジョブプロパティを参照してください。

HQueue

はじめよう

  • HQueueについて

    HQueueは多目的なジョブスケジューリングシステムです。このシステムを利用することで、レンダリング、シミュレーション、他の処理をリモートクライアント上に分散させることができます。

  • インストール

    基本的なHQueueファームのセットアップ方法。

  • 設定

    HQueueサーバーとクライアントのオプションを設定する方法。

  • ジョブを投入する方法

    ファーム上にワークを配置する方法。

ファームの管理

  • ジョブの管理

    ファーム上のジョブを閲覧/管理する方法。

  • クライアントの管理

    ウェブインターフェースまたはローカルログインを使って、クライアントマシンを追加/削除/再起動/管理する方法。

  • クライアントグループの管理

    ウェブインターフェースまたはローカルログインを使って、クライアントマシンのグループを作成/管理する方法。

  • ネットワークフォルダ

    Network Folder管理ページの使い方。

  • リソース

    各クライアントで利用可能なリソース(例えば、ライセンス)を指定することができるので、そのジョブを実行可能なクライアントに対してそのジョブのスケジュールを組むことができます。

  • ノート

    各クライアントとジョブには、情報を記載したノートを添付することができます。

次のステップ

  • ログ

    HQueueサーバーはサーバーエラーとスケジュールイベントのログを別々に記録し、各クライアントもログを生成します。

  • アンインストールする方法

    HQueueサーバーまたはクライアントのソフトウェアをアンインストールする方法。

  • FAQs

    よくある質問の回答。

導師レベル

  • Remote API

    ネットワーク上のHQueueサーバーに接続して関数をコールすることで、ジョブや他の情報を制御したり照会することができます。

  • ジョブの仕様の詳細

    独自のジョブを投入したいユーザ向けに、ジョブの内部仕様に関する詳細を載せています。

  • 複数クライアント、単一マシン

    単一マシン上で複数のHQueueクライアントを走らせる方法を説明したガイド。