Task
Taskコンポーネントは、WHEELのコンポーネントの中で最も基本的かつ重要なコンポーネントです。
script プロパティに設定されたスクリプトファイルを、実行環境(host/use job scheduler/queueプロパティ)の設定に応じて実行します。
Taskコンポーネントに指定することのできるプロパティは以下のとおりです。
script
Taskコンポーネントの実行時に呼ぶスクリプトのファイル名を設定します。
scriptプロパティはセレクトボックスになっており、Taskコンポーネント内に存在するファイルの中から選ぶことができます。
Taskコンポーネントの実行結果について
Taskコンポーネントを実行した際の成否は指定されたスクリプトの戻り値で判定されます。(0:正常終了、0以外:異常終了)
従いまして、スクリプト内で複数のコマンドを実行する際は適宜、戻り値を指定してください。
host
scriptの実行環境として、リモートホスト設定にて設定されたリモートホスト、または”localhost”を選択します。
- “localhost”を選択したとき
scriptがWHEELサーバが動作しているマシン上で実行されます。 - “localhost”以外を選択したとき
sshでリモートホストへディレクトリ全体が転送され、scriptがリモートホスト上で実行されます。(後述のuse job schedulerが設定されているときは、scriptはバッチシステムにジョブスクリプトとして投入されます)
use job scheduler
scriptの実行をバッチシステムに投入する時に有効にします。
use job schedulerを有効にしたときのみ、次のqueue, submit optionプロパティを設定することができます。
- 無効のとき
- 有効のとき
queue
ジョブを投入するキューをリモートホスト設定で設定したキューの中から選びます。 無指定の場合はバッチシステムのデフォルトキューに対してジョブを投入します。
submit command
リモートホスト設定 で指定されたバッチシステムにジョブを投入するときのコマンド名が表示されます。 そのため、ここでは変更することはできません。
submit option
ジョブ投入時に追加で指定するオプションを設定します。
number of retry
Taskコンポーネントの実行に失敗したときに、自動的に再実行する回数を指定します。 無指定時は再実行しません。
use javascript expression for condition check
Taskコンポーネントの成功 / 失敗を判定するのにjavascript式を用いるか、シェルスクリプトを用いるかを指定します。
-
無効のとき
無効のときは、シェルスクリプトを選択するドロップダウンリストが表示されます。
ここで指定されたシェルスクリプトが、Taskコンポーネント実行終了後に実行され、戻り値が0であれば成功、0以外であれば失敗と判定されます。
なお、無指定のときは script に指定したスクリプトの戻り値で同様の判定が行われます。 -
有効のとき
有効のときは、javascript式を記述することができます。
ここで入力した式が、Taskコンポーネントの実行終了後に評価され、Truthyな値を返せば成功、Falsyな値を返せば失敗と判定されます。
スクリプト名、javascript式ともに未設定で、number of retryの値のみを設定していた場合は、スクリプトが正常終了するか、retryに設定した回数に達するまで再実行を繰り返します。
include, exclude
Taskコンポーネントをリモートホストで実行した際に生成されたファイルは、output filesに指定されているなど、その後の処理で必要にならない限り、リモートホスト上にそのままの状態で残されます。
そこで、その後のワークフローの処理には不要なものの確認はしたいファイル(実行時にアプリケーションが出力するログファイルなど)は、include に指定します。 すると、Taskコンポーネント実行終了時にWHEELサーバ上にコピーされ、Filesエリアで確認することができます。
include には、ディレクトリ名やglob(ワイルドカード)などを指定することができますが、さらに exclude を指定すればダウンロード対象から除外することができます。
例えば、include に*.txt
、exclude にfoo.txt
を指定して、実行終了時にfoo.txt, bar.txt, baz.txtが生成されていたとします。
このとき実際にWHEELサーバ上にコピーされるファイルは、bar.txt, baz.txtの2つのみとなります。
clean up flag
リモートホストでの実行終了後に、リモートホスト上に残されたファイルを削除するかどうかを指定します。
remove files を指定すれば削除、keep files を指定すればリモートホスト上に保存されます。
デフォルト設定では same as parent が指定されており、上位コンポーネントの設定と同じ動作をします。
なお、最上位コンポーネントで same as parent を指定した場合は、keep files を指定したときと同じ動作になります。