このトピックでは、タスク管理ページでスケジュール済みジョブに対してさまざまな操作を実行するための詳細な手順について説明します。
ジョブの作成
ジョブを作成する前に、アプリケーショングループが作成されていることを確認してください。 詳細については、「アプリケーション管理」をご参照ください。
-
SchedulerX コンソールにログインします。
-
上部のナビゲーションバーで、リージョンを選択します。
-
左側のナビゲーションウィンドウで、[タスク管理] を選択します。
-
ページで、[名前空間] を選択し、Create Task をクリックします。 Basic Configuration ウィザードページで、ジョブパラメーターを設定し、Next をクリックします。
次の表に、基本設定パラメーターを示します。
パラメーター
説明
Name
ジョブのカスタム名。
Description
ジョブの検索と管理に役立つ簡単な説明。
Application ID
ジョブが属するアプリケーショングループ。 ドロップダウンリストからアプリケーショングループを選択できます。
Job Type
ジョブの実装に使用されるプログラミング言語。 サポートされているタイプには、[Java]、[XXL-JOB]、[SpringSchedule]、[Golang]、[スクリプトタスク]、[Http]、[DataWorks] があります。 [スクリプトタスク] を選択した場合は、スクリプト言語 ([shell]、[python]、または [go]) も選択し、エディターでジョブスクリプトを記述する必要があります。
クラスの完全パス
説明このパラメーターは、[ジョブタイプ] を Java に設定した場合にのみ使用できます。
JobProcessor の完全なパス。例:
xxx.xxx.xxx.HelloProcessor。Execution Mode
ジョブが実行されるモード。 次のモードがサポートされています:
-
Standalone:ランダムに選択されたワーカーでジョブを実行します。
-
[ブロードキャスト実行]:利用可能なすべてのワーカーで同時にジョブを実行し、完了を待ちます。
-
[ビジュアル MapReduce]:サブタスクの視覚的なリストを持つ Map モデル。 最大 300 のサブタスクを実行できます。
Professional Edition では、最大 1,000 のサブタスクをサポートし、ビジネスキーワードでサブタスクをクエリできます。
-
[MapReduce]:多数のサブタスクを並行して実行できる標準の MapReduce モデル。 サブタスクの概要情報のみをクエリできます。 このモードは、1,000,000 以下のサブタスクに推奨されます。
-
[シャード実行]:elastic-job モデルに似ています。 シャーディングパラメーターを設定して、複数のワーカーにシャードを均等に分散して実行します。 このモードは、複数のプログラミング言語をサポートします。
説明詳細設定のパラメーターは、選択した Execution Mode によって異なります。
Job Parameters
ランタイムにコンテキストから取得できる任意の文字列。
次の表に、詳細設定パラメーターを示します。
パラメーター
適用可能な実行モード
説明
デフォルト
失敗時のジョブ再試行回数
一般
ジョブが失敗した場合の自動再試行回数。
説明ワーカーが再起動するとジョブは失敗します。 このパラメーターを使用して、ジョブをすぐに再実行します。
0
失敗時のジョブ再試行間隔
一般
再試行の間隔。 単位:秒。
30
ジョブの同時実行数
一般
ジョブに許可される同時実行インスタンスの数。 値 1 は、ジョブのインスタンスを同時に実行できないことを示します。
1
クリーンアップポリシー
一般
ジョブ実行履歴のクリーンアップポリシー。
最後の N 件のレコードを保持
保持するレコード数
一般
保持する過去の実行レコードの数。
300
ワーカーあたりのサブタスク同時実行数
-
ビジュアル MapReduce
-
MapReduce
-
シャード実行
分散モデルでは、このパラメーターは単一のワーカーが同時に処理できるサブタスクの数を指定します。 この値を増やすと、実行を高速化できます。 ダウンストリームのサービスやデータベースが負荷を処理できない場合は、この値を減らすことができます。
5
失敗時のサブタスク再試行回数
-
ビジュアル MapReduce
-
MapReduce
-
シャード実行
分散モデルでは、このパラメーターはサブタスクが失敗した場合に自動的に再試行される回数を指定します。
0
失敗時のサブタスク再試行間隔
-
ビジュアル MapReduce
-
MapReduce
-
シャード実行
分散モデルでは、このパラメーターは失敗したサブタスクの自動再試行の間隔を指定します。 単位:秒。
0
サブタスクのフェールオーバーポリシー
-
ビジュアル MapReduce
-
MapReduce
-
シャード実行
実行中のワーカーがオフラインになった場合に、サブタスクを他のワーカーに再配布するかどうかを指定します。 この機能を有効にすると、フェールオーバー中にサブタスクが複数回実行される可能性があります。 ご利用のコードがべき等であることを確認してください。
説明この機能には、ワーカーバージョン 1.8.13 以降が必要です。
マスターノードの実行参加
-
ビジュアル MapReduce
-
MapReduce
-
シャード実行
マスターノードもサブタスクを実行するかどうかを指定します。 少なくとも 2 つのオンラインワーカーが必要です。 サブタスクの数が非常に多い場合は、このパラメーターを無効にすることを推奨します。
説明この機能には、ワーカーバージョン 1.8.13 以降が必要です。
サブタスクのディスパッチモード
-
ビジュアル MapReduce
-
MapReduce
-
シャード実行
-
[プッシュモデル]:サブタスクは各ワーカーに均等に分散されます。
-
[プルモデル]:各ワーカーがサブタスクをプルするため、「最も遅いワーカー」効果を回避できます。 このプロセス中、すべてのサブタスクはマスターノードにキャッシュされ、メモリの負荷が増加します。 このモードは、10,000 以下のサブタスクに推奨されます。
プッシュモデル
ディスパッチ戦略
-
ビジュアル MapReduce
-
MapReduce
サブタスクをディスパッチするための戦略。 デフォルトでは、サブタスクはラウンドロビン方式でワーカーにディスパッチされます。
-
[ラウンドロビン戦略]:サブタスクは各ワーカーに均等に分散されます。 この戦略は、各サブタスクの処理時間がほぼ同じであるシナリオに適しています。
-
[負荷最適化戦略]:マスターノードは各ワーカーの負荷を動的に検出します。 この戦略は、サブタスクまたはワーカー間で処理時間が大幅に異なるシナリオに適しています。
説明この機能には、ワーカーバージョン 1.10.14 以降が必要です。
ディスパッチレート
-
ビジュアル MapReduce
-
MapReduce
サブタスクがディスパッチされるレート。 1 秒あたりまたは 1 分あたりにディスパッチされるサブタスクの数を指定できます。
プルごとのサブタスク数 (プルモデルのみ)
-
ビジュアル MapReduce
-
MapReduce
-
シャード実行
ワーカーが 1 回のリクエストでマスターノードからプルするサブタスクの数。
5
サブタスクキュー容量 (プルモデルのみ)
-
ビジュアル MapReduce
-
MapReduce
-
シャード実行
ワーカー上のサブタスクキャッシュキューのサイズ。
10
グローバルサブタスク同時実行数 (プルモデルのみ)
-
ビジュアル MapReduce
-
MapReduce
-
シャード実行
プルモデルは、サブタスクのグローバルな同時実行数制限をサポートしており、レート制限に使用できます。
1,000
-
-
Schedule Configuration ウィザードページで、タイミングパラメーターと詳細設定パラメーターを設定し、Next をクリックします。
次の表に、タイミングパラメーターを示します。
パラメーター
説明
Time Type
-
none:スケジュールされません。通常、ジョブはワークフローによってトリガーされます。
-
cron:CRON 式に基づいてジョブがトリガーされます。
-
api:API 呼び出しによってジョブがトリガーされます。
-
fixed_rate:固定頻度でジョブがトリガーされます。
-
second_delay:秒単位の固定遅延後にジョブがトリガーされます。
-
onetime:ジョブは一度だけ実行されます。
-
unix cron:標準 UNIX フォーマットの CRON 式に基づいてジョブがトリガーされます。
Cron Expression ([時間タイプ] を cron に設定した場合にのみ利用可能)
CRON 式を入力します。式は手動で記述することも、ツールを使用して生成および検証することもできます。
[固定頻度] ([時間タイプ] を fixed_rate に設定した場合にのみ利用可能)
秒単位の固定間隔を入力します。値は 60 以上である必要があります。たとえば、値に 200 を指定すると、ジョブは 200 秒ごとにスケジュールされます。
[固定遅延] ([時間タイプ] を second_delay に設定した場合にのみ利用可能)
秒単位の固定遅延を入力します。値は 1 から 60 までの整数である必要があります。たとえば、値に 5 を指定すると、ジョブは 5 秒の遅延後にトリガーされます。
[スケジュール時間] ([時間タイプ] を onetime に設定した場合にのみ利用可能)
ジョブを実行する特定の時間を入力します。例:
2023-7-13 00:00:00。[unix cron 式] ([時間タイプ] を unix cron に設定した場合にのみ利用可能)
標準 UNIX フォーマットで CRON 式を入力します。
次の表に、詳細設定パラメーターを示します。
パラメーター
説明
時間オフセット
スケジュール時刻に対するデータ時刻のオフセット。 この値は、ランタイムにコンテキストから取得できます。
Time Zone
要件に基づいてタイムゾーンを選択します。 一般的な国や地域から選択するか、標準の GMT 形式を使用できます。
-
-
Notification Configuration ウィザードページで、アラートパラメーターと連絡先を設定し、[完了] をクリックします。
アラートパラメーターには、[タイムアウトアラート] スイッチ、[タイムアウト] (秒単位)、[タイムアウト時に強制終了] スイッチ、[成功通知] スイッチ、[失敗アラート] スイッチ、[連続失敗回数]、および [利用可能なワーカーなしアラート] スイッチが含まれます。 [通知チャネルと連絡先] では、[アプリケーショングループの連絡先] または [カスタム] を選択できます。
[通知チャネルと連絡先] では、[アプリケーショングループの連絡先] または Custom を選択できます。
-
アプリケーショングループの連絡先
アプリケーショングループ内のすべての連絡先が通知を受け取ります。
-
Custom
Contact Group または個別の Contact を指定して通知を受け取ることができます。
-
Contact Group
選択した連絡先グループ内のすべての連絡先が通知を受け取ります。 連絡先グループの作成方法の詳細については、「通知用の連絡先または連絡先グループの作成」をご参照ください。
-
Contact
1. 通知を受け取る連絡先を追加します。 複数の通知連絡先を追加できます。 [連絡先の追加] をクリックした後、[連絡先の作成に移動] をクリックします。
[通知チャネルと連絡先] セクションで、[カスタム] を選択し、[通知チャネル] の [Webhook] チェックボックスをオンにし、[通知連絡先] で [連絡先] を選択します。 連絡先のドロップダウンリストに [オプションなし] と表示される場合、利用可能な連絡先はありません。
2. 表示されたページで、Create Contact をクリックし、連絡先情報を入力します。
連絡先情報には、[名前] (必須)、[電話番号]、[メールアドレス]、[Webhook]、および [連絡先グループ] が含まれます。
-
-
-
[タスク管理] ページに戻り、ジョブが作成され、正しく設定されていることを確認します。
説明デフォルトでは、ジョブは作成時に有効化されます。 必要に応じて無効化してから再度有効化できます。 詳細については、「スケジュール済みジョブの有効化と無効化」をご参照ください。
ジョブの編集
-
[タスク管理] ページで、ジョブを見つけ、Actions 列の Edit をクリックします。
-
Edit パネルで、基本設定、スケジュール設定、およびアラート設定を構成します。
説明アプリケーション ID とタスクタイプは変更できません。 他のパラメーターの設定は、ジョブ作成時と同じです。
ジョブの実行
[タスク管理] ページで、Actions 列の Run Once をクリックしてジョブを実行します。
確認ダイアログボックスで、[指定されたマシン] のインスタンスを選択し、[インスタンスパラメーター] を設定して、[OK] をクリックします。 インスタンスパラメーターはジョブパラメーターをオーバーライドしません。
ジョブの有効化と無効化
単一ジョブの有効化または無効化
-
[タスク管理] ページで、目的のジョブの Actions 列で、More をクリックし、[無効化] または [有効化] を選択します。
-
確認ダイアログボックスで、[確認] をクリックします。
複数ジョブの有効化または無効化
Professional Edition では、複数のジョブを一度に有効化または無効化できます。 [タスク管理] ページで、目的のジョブを選択し、ジョブリストの下にある [一括無効化] または [一括有効化] をクリックします。
ジョブの複製
[タスク管理] ページで、ジョブの Actions 列にある More > Copy を選択します。 その後、新しいジョブの設定を編集できます。
ジョブの再実行 (リブラッシュ)
ジョブを再実行 (リブラッシュ) して、過去の期間のデータをバックフィルできます。 これは、データベースに新しいフィールドを追加したり、前月のデータを修正する必要がある場合など、ビジネス要件が変更された場合に役立ちます。
この機能は、日次スケジューリング期間を持つジョブとワークフローの両方で利用できます。
以前のジョブ実行のデータにエラーがあるか、欠落している場合、特定のパラメーターでジョブを再実行して、その期間のデータを再処理できます。
-
SchedulerX コンソールにログインします。
-
[タスク管理] ページでジョブを見つけ、Actions 列の More をクリックし、[タスクの再実行] をクリックします。
-
[タスクの再実行] パネルで、[開始日と終了日] と [データ時刻] を設定し、[OK] をクリックします。
-
[開始日と終了日]:ジョブを再実行する日付範囲。
-
[データ時刻]:指定された範囲の各日の論理データ時刻として使用される時刻。
たとえば、次の設定を考えます:
-
現在の時刻は 2019 年 1 月 1 日 10:00:00 です。
-
[開始日と終了日] は 2018 年 10 月 1 日から 2018 年 10 月 7 日に設定されています。 この範囲は、2018 年 10 月 1 日 00:00:00 から 2018 年 10 月 7 日 23:59:59 までの期間をカバーします。
-
[データ時刻] は 11:11:11 に設定されています。
このシナリオでは、ジョブは 7 回再実行され、7 つの新しいインスタンスが生成されます。
S/N
スケジューリング時間
データ時刻
1
2019.1.1 10:00:00
2018.10.1 11:11:11
2
2019.1.1 10:00:00
2018.10.2 11:11:11
3
2019.1.1 10:00:00
2018.10.3 11:11:11
4
2019.1.1 10:00:00
2018.10.4 11:11:11
5
2019.1.1 10:00:00
2018.10.5 11:11:11
6
2019.1.1 10:00:00
2018.10.6 11:11:11
7
2019.1.1 10:00:00
2018.10.7 11:11:11
-
実行記録と操作記録
-
実行記録を表示するには、[タスク管理] ページに移動し、ジョブを見つけて、Actions 列の More > [履歴レコード] をクリックします。
-
操作記録を表示するには、[タスク管理] ページに移動し、ジョブを見つけて、Actions 列の More > [操作記録] をクリックします。 [操作記録] ページでは、[タイプ] と [タスク ID] でレコードをフィルターできます。 表には、[タスク ID]、[操作時間]、[操作タイプ]、[操作者]、および [拡張情報] が一覧表示されます。 レコードの詳細を表示するには、[操作] 列の [表示] をクリックします。
ジョブの削除
-
SchedulerX の課金を停止するには、まずアプリケーション内のジョブを削除または無効化して、課金を回避する必要があります。
-
ジョブがジョブオーケストレーションの一部である場合、ジョブを削除または無効化する前に、関連するワークフローを削除する必要があります。
SchedulerX の課金項目と課金方法の詳細については、「課金」をご参照ください。
-
[タスク管理] ページで、削除するジョブを見つけ、Actions 列の More > Delete を選択します。
-
確認ダイアログボックスで、[確認] をクリックします。
タスクのインポートまたはエクスポート
-
[タスク管理] ページで、Professional Edition アプリケーションを選択します。
-
Import Jobs または [タスクのエクスポート] をクリックします。