1.0X Rescale CLI の基本

基本的なジョブ投入の文法

APIトークンとアプリのローカルコピーがあれば、以下のコマンドでジョブを投入できます。

    java -jar /usr/local/bin/rescale.jar submit -p  -i 

他のプラットフォーム(韓国、日本、EU)のユーザは、Rescale CLIを使用する際に必要な追加フラグについてCLI FAQsを参照してください。Rescale CLIには、ユーザがRescale上で実行したいコマンドが含まれています。これは、コマンドラインから./という接頭辞を使って実行できる.shシェルスクリプトの一種です。スクリプトの種類に関係なく、アプリはスクリプトを解析して、環境設定やサポートされていないコマンドに関連する不注意な問題を最小限に抑えようとします。pフラグは、ここに示すように作成したRescale API Application program interface (API) is a set of routines, pr... More Tokenを読み込むために使用します。


ラッパースクリプトを作成することで、Rescaleコマンドを簡略化することができます。また、環境変数RESCALE_API_KEYを設定するか(2)、設定ファイルにプロファイルを作成して(3)、Rescale CLIコマンドから-pを省略することも可能です。これらの追加手順は、ユーザーがRescale CLIコマンドを簡略化して簡単に使用するのに役立ちます。 -p Rescale CLI コマンドから。 これらの追加手順は、ユーザーが Rescale CLI コマンドを簡素化し、簡単に使用するのに役立ちます。

特に、シンプルなラッパースクリプトを作成することで、ジョブ投入時に発生しうるエラーの原因をいくつか減らすことができます。

以下は、bashのラッパースクリプトの内容例です。

#!/bin/bash java -jar /usr/local/bin/rescale.jar submit -p -E -i $1

の部分は、APIキートークンのハッシュ文字列に置き換えてください。また、このスクリプトはRescale CLIアプリ(rescale.jar)が/usr/local/binに配置されていると仮定しているので、適宜修正してください。スクリプトには非公開の値が含まれるため、$PATH内の/usr/local/binのようなパーミッションを限定したディレクトリに保存する必要があります。また、スクリプトが実行できるように、適切なパーミッションを持っていることを確認してください。

chmod +x /usr/local/bin/rescale-submit

Rescale CLIコマンドを使用するためには、毎回Rescale APIキーを使用する必要があります。APIキーは長い文字の組み合わせなので、環境変数を作成してプロファイルに保存しておくと、コマンドを使用するたびに実際のキーではなく、API変数を使用することができて便利でしょう。環境変数の作成は、以下の手順で行います。

  • ターミナルで または  vi ~/.bashrc OR vi ~/.bash_profile のいずれかを入力し、ENTER を押してください。
  • ターミナルエディターが起動するので、次のように入力します bash export RESCALE_API_KEY=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
  • 入力が終わったら、まず ESC を押して、次に :wq を入力して変更を保存してください。
  •  echo $RESCALE_API_KEYを使用して変数を表示することでテストすることができます。これにより、ターミナルにRescale APIキーが表示されます。

デフォルトでは、CLIは ~/.config/rescale/apiconfig。 ファイルを作成します (vi ~/.config/rescale/apiconfig) に次の内容を追加します。

[デフォルト]apikey = XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

CLIは自動的に [default] デフォルトではプロファイル。 別の名前付きプロファイルを指定するには、 --profile コマンドライン引数を使用して指定できます。また、環境変数 RESCALE_CONFIG_FILE に任意のパスを設定することで、異なる設定ファイルのパスを使用することも可能です。

ユーザーが異なるプラットフォームで複数のプロファイルを使用する場合、それらのプラットフォームへのURLをapiconfigで以下のように指定する必要があります。

[デフォルト]apibaseurl = https://platform.rescale.comapikey = XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
[eu]apibaseurl = https://eu.rescale.comapikey = XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

テストジョブの投入 – Hello World!

非常にシンプルな例を見てみましょう。繰り返しますが、この例では、上に示した rescale-submit というラッパースクリプトを設定したものとします。

Hello World!”ジョブを実行するには、シェル端末(Linux、MacOS、Cygwinなど)から、新しい実行ディレクトリを作成します。お好みのテキストエディタで、 submit.sh を含む入力サブミッションスクリプトを作成します。

注: 上記のスクリプトをコピーする際には、各環境変数の後に空白がないことを確認してください。

ジョブを送信します。

rescale-submit submit.sh

これにより、新しいクラスタがスピンアップされ、スクリプトからのコマンドでジョブが投入されます。ユーザはRescale Web UIにログインして、ジョブを追跡・監視することができます。ジョブリストには、次のようにジョブが表示されます。”Hello World”

ジョブが送信されました

ステータスページにはジョブの進行状況が表示され、ファイルをクリックすることでUI内から尾行することが可能です。

Live Tailing

ログは次のようなものになります。

Running SGE version of Rescale Client App
Executing Command.
Parsing Input Files
No existing files to include
Found Analysis: user_included
No project with the specified name was found: null
Zipping Files
Creating temporary encrypted zip at /Users/rescale/helloworld/input.zip
Finished writing encrypted file
Uploading Files
Uploading: /Users/rescale/helloworld/run.sh
Uploading run.sh:
##############################| 288B / 288B
Uploading: /Users/rescale/helloworld/input.
Uploading input.zip:
##############################| 83.08KB / 83.08KB
Job: Saving Job
Job qMCOdb: Saved
Job qMCOdb: Submitting
Job qMCOdb: Starting polling cycle
Job qMCOdb: Status - Validated
Job qMCOdb: Status - Executing
Job qMCOdb: Status - Executing
Job qMCOdb: Status - Executing
Job qMCOdb: Status - Executing
Job qMCOdb: Status - Completed
Job qMCOdb: Finished...
Job qMCOdb: Downloading files to output/
Downloading output/submit.sh
Downloading output/run.sh
Downloading output/process_output.log
Downloading output/inputs/file2
Downloading output/inputs/file1
Downloading output/hello_world
Downloading output/file0
.
.
.
Finished downloading files.