このトピックでは、Shell、Python、または PHP スクリプトを作成してスクリプトジョブを作成する方法について説明します。
はじめに
次の図は、スクリプトジョブの使用方法を示しています。

スクリプトジョブを使用するには、事前にターゲットデバイスに
schedulerx-agentをデプロイしてサーバーと通信し、スクリプト実行コマンドを受信し、実行結果を返します。Python 依存関係ライブラリや依存ファイルなど、スクリプトの実行に必要な依存関係をデバイスに事前にデプロイします。
スクリプトが実行されるたびに、
schedulerx-agentはforks子プロセスを作成してスクリプトを実行します。この子プロセスはschedulerx-agentのメモリを占有しませんが、デバイスのメモリを占有します(具体的なメモリ消費量はスクリプトの内容によって異なります)。多数のスクリプトジョブが同時に実行されている場合、デバイスのメモリが不足する可能性があります。大量の計算リソースを必要とするシナリオでは、Kubernetes ジョブ を使用してポッド経由でスクリプトを実行することをお勧めします。
前提条件
SchedulerX エージェントがデプロイされていること。詳細については、「SchedulerX エージェントを使用してアプリケーションを SchedulerX に接続する(スクリプトまたは HTTP ジョブ)」をご参照ください。
スクリプトジョブの作成
分散タスクスケジューリングプラットフォーム にログインし、左側のナビゲーションウィンドウで [タスク管理] をクリックし、[タスク管理] ページで ジョブを作成 します。[タスクの種類] で [ScriptTask] を選択します。

ステップ 1:スクリプト言語を選択する
[スクリプト] ドロップダウンリストから、スクリプト言語として [shell]、[python]、または [php] を選択します。
ステップ 2:実行コマンドを選択する
さまざまな言語でスクリプトを実行するためのコマンド:
シェルスクリプト:デフォルトのコマンドは
/bin/shです。Python スクリプト:デフォルトのコマンドは
pythonです。コマンドをpython2またはpython3に変更できます。PHP スクリプト:デフォルトのコマンドは
phpです。
ステップ 3:ファイル形式を選択する
[ファイル形式] で unix または windows を選択すると、改行が異なります。
Windowsシステムでスクリプトを実行するには、windowsを選択します。Linux、UNIX、または macOSでスクリプトを実行するには、unixを選択します。
スクリプトソースが Windows システム上にあり、Linux システムで実行する必要がある場合は、[ファイル形式] で [unix] を選択します。
ステップ 4:実行モードを選択する
アクセスの前提条件:スクリプトを実行するために、schedulerxAgent が事前にデプロイされていること。詳細については、「SchedulerX エージェントを使用してアプリケーションを SchedulerX に接続する(スクリプトまたは HTTP ジョブ)」をご参照ください。
[実行モード]:
スタンドアロン操作:複数の SchedulerX エージェントをデプロイし、実行モードをスタンドアロン操作に設定すると、SchedulerX はスクリプトを実行する SchedulerX エージェントをランダムに選択します。
ブロードキャスト実行:複数の SchedulerX エージェントをデプロイし、実行モードをブロードキャスト実行に設定すると、SchedulerX はすべての SchedulerX エージェントにスクリプトをブロードキャストします。これにより、スクリプトはすべての SchedulerX エージェントで同時に実行されます。この設定は、バッチ O&M に適しています。
シャード実行:Python シャーディングジョブを作成する を参照してください。
スクリプトを作成する
スクリプトジョブが作成されると、スクリプト言語に基づいてデフォルトでスクリプトテンプレートが生成されます。[タスク管理] ページで [EditScript] をクリックすると、スクリプトの内容を変更できます。

過去のスクリプトバージョン
Professional Edition アプリケーションでは、過去のスクリプトバージョン機能を使用できます。[EditScript] ページで、[過去のバージョン] スイッチをオンにして、バージョン比較ページに移動します。
左側には現在のバージョンが表示され、右側には過去のバージョンが表示されます。
ドロップダウンボックスをクリックして、バージョンのメモや作成時間などの過去のバージョン情報を表示します。
スクリプトの内容を変更した後、[確認] をクリックします。新しいバージョン名の入力を求められます。

デモ
ジョブブロードキャストに基づく分散処理
2 つの
schedulerx-agentに接続します。[スクリプト] を [shell] に、[実行モード] を [ブロードキャスト実行] に設定して、新しいスクリプトジョブを作成します。次の図は、スクリプトの内容を示しています。

ジョブの [操作] 列の [1 回実行] をクリックします。
左側のナビゲーションウィンドウで [実行リスト] をクリックします。[実行リスト] ページで、ジョブインスタンスの [操作] 列の [ログ] をクリックして、各マシンで実行された内容を表示します。
次の図は、
172.16.13.125の実行ログを示しています。ログによると、取得されたシャードの序数は 1 で、シャードの総数は 2 です。
次の図は、
172.16.13.120の実行ログを示しています。ログによると、取得されたシャードの序数は 0 で、シャードの総数は 2 です。
ジョブシャーディングに基づく分散処理
[スクリプト] を [shell] に、[実行モード] を [シャード実行] に設定して、新しいスクリプトジョブを作成します。次の図は、その他のジョブ構成を示しています。

ジョブを作成した後、ジョブの [EditScript] をクリックします。次の図は、スクリプトの内容を示しています。

ジョブの [操作] 列の [1 回実行] をクリックします。
左側のナビゲーションウィンドウで [実行リスト] をクリックします。[実行リスト] ページで、ジョブインスタンスの [操作] 列の [ログ] をクリックして、各マシンのシャーディングパラメータを表示します。
ログによると、2 つのシャード(
hangzhouとbeijing)が172.16.13.120に割り当てられ、実行されています。2 つのシャード(
shenzhenとshanghai)が172.16.13.125に割り当てられ、実行されています。

関連情報
システム組み込みパラメータについては、「スクリプトのシステム変数」をご参照ください。