こんにちは。今回はXplentyでのスケジュールの設定方法について紹介します。Xplentyでは、スケジュール設定時にいつどのタイミングで実行するかだけでなく、クラスターのパワーを設定します。(注:コネクターベースの料金プランの場合は、Nodeを追加購入した場合のみでNode数(クラスターのパワー)の増加が可能です。)
1. スケジュール設定
簡易なスケジュール設定
ITのバッググラウンドがないユーザ向けの簡単スケジュールです。

タイムゾンの設定は、スケジューラーを作成時のみに設定可能であり、デフォルトの値はユーザがsettingsで設定したタイムゾーンになります。

Cron Expressionによるスケジュール設定
Xplentyでは、きめ細かいスケジュール設定のために通常の簡易なスケジューリング設定に加えて、Cron Expressionによる設定をサポートしています。
例えば、毎朝UTC8時(日本時間17時)にジョブを実行する場合、以下のように設定します。
Allow concurrent schedule executionsについて
同一スケジュールで実行された前のジョブが実行中の場合、新しく同一スケジュールで実行されたジョブの同時実行を許可するかどうかをコントロールするオプションです。
デフォルトでは、同じスケジュールで実行された前のジョブが実行中の場合、次の同一スケジュールはジョブの実行を行いません。前のジョブの状態に関係なくジョブを実行させたい場合は、同時実行を許可する「Allow concurrent schedule executions」オプションにチェックを入れてください。

Auto-retryについて
設定したパッケージの実行が失敗(failed)した場合、失敗したパッケージだけを再実行する。(スケジューラーが再実行ではない!!)再実行で成功(complete)になると次の再実行は行いません。また、再実行の回数(デフォルトは3回)の調整が出来ます。
2. Cluster設定
クラスター設定では、以下を設定します。
ここでは、上記の中で最もわかりづらい、「3.クラスターのReuse(再利用ポリシー)の設定」について解説します。
クラスターを起動するには、最低30秒ほどの時間がかかります。そのため、スケジュール実行時にすでに起動済みのクラスターで、かつスケジュールで設定したノード数と同じかそれ以上のパワーを持つクラスターが存在する場合、新しくクラスターを起動せずに、既存のクラスターで処理するというオプションです。
| 再利用オプション | 説明 |
|---|---|
| Any similar created by this schedule | 同一スケジュールで起動されたクラスターが起動している場合、それ使用してスケジュールを実行します。 |
| Any similar cluster | 例えば、スケジュールで2ノードと設定されたスケジュールを設定した場合、このスケジュールAが実行される際に別スケジュールBですでに3ノードのクラスターが起動していた場合、スケジューラAは新規に2ノードのクラスターを起動するのではなく、既存のクラスターを利用して処理を実行します。 |
| Any similar cluster with the same node count | スケジューラーに設定したクラスタのノード数と同じクラスタが既に存在する場合、そのクラスタを利用する。該当するクラスタがない場合、クラスタを作成する |
| Cluster with the least number of jobs running | 実行中のジョブ数が最も少ない、かつノード数がスケジューラーに設定したクラスタのノード数以下のクラスタを再利用する。注意事項 - 競争状態に陥らないために、スケジューラーの起動感覚を何分ぐらいに開けて設定することをお勧めします。) |
| Never | クラスターを再利用せず、毎回クラスターを新規に起動する。 |
ヒント:
上記3のReuse設定と上記2のどのタイミングでTerminateするかの設定をうまく利用することで、月間の最大利用可能ノード時間を効率的に使うことができます。
3. パッケージの設定
次はスケジューラーが起動するパッケージを追加します。Add packagesボタンを押下するとパッケージ追加画面に切り替わります。


Choose a packageにてドロップダウンにて追加するパッケージ1つを選びます。

Choose a package versionにて実行するパッケージのバージョンも指定出来ますが、デフォルトは最新バージョンを実行するようになっています。

特定バージョンのパッケージを実行したい場合
特定バージョンの実行が必要な場合、下記の図のように「Always run the latest version of the package」のチェックを外すと各々バージョンが選択できるドロップダウン現れており、適切なバージョンを選んでください。

次はEdit package variablesでパッケージ実行時の変数の設定です。
スケジューラーはデフォルトとして元々のパッケージに設定されている変数値をそのまま使います。

もし、スケジューラーによる実行時のみに別の変数値を使いたい場合、既存変数の値を下記のように上書きが出来ます。

これでSaveボタンを押下すると1つのパッケージ追加が完了し、これを繰り返すとパッケージ設定が完了します。
4. スケジューラーの実行準備
最後のステップとしてInactiveになっているStatusをActiveに切り替えます。後の参考のため、Descriptionにスケジューラーに対する説明を付けて保存してください。
これでパッケージを定期実行するスケジューラーの設定が終わり、次は設定時間にパッケージの実行を待つだけです。





