割り当てを作成
1ログイン
ブラウザを使用してsaturn.vip.vip.comにアクセスします。ログイン機能が有効(-Dauthentication.enabled = true)の場合、ID認証のためにCASにリダイレクトされます。
最高のエクスペリエンスを得るには、Chromeブラウザを使用することをお勧めします。
ログインすると、次のようなSaturnホームページが表示されます。
ユーザーは、アクセスする必要があるドメイン名を中央の検索ボックスに入力する必要があります。
ホームページ上部のメニューバーの機能は以下の通りです。
- ジョブ管理:ドメイン検索ページ
- ダッシュボード:Job / Executor動作ステータスチャート
- 警報センター:世界の警報市場。
- 登録センター:ドメインとZKクラスター情報のリスト。
- システム構成:システムパラメータ設定。
認証機能が有効になっている場合、権限によっては一部のメニューが表示されない場合があります。
2仕事の概要
ホームページでドメイン名を入力し、Enterキーを押します。ドメイン名が見つからない場合は、最初にドメインを追加してください。
-
ジョブの概要:スクリーンショットに示すように、ドメイン内のすべてのジョブとステータスが表示され、いくつかの操作が提供されます。
-
エグゼキューターの概要:ドメインのすべてのエグゼキューター情報を表示します。
-
アラームセンター:このドメインに関連するすべてのアラームを一覧表示します
-
ジョブ名:さまざまなタイプに応じて、さまざまなアイコンがジョブ名の前に表示されます。上記の例のように、0326シェルはシェルジョブで、demoJavaJobはJavaジョブです。
-
ジョブステータスは次のように説明されます。
-
準備完了:ジョブは有効になっていますが、実行されていません。
レポート実行ステータスが設定されている場合(デフォルトでは2番目以外のジョブがレポートされます)、「準備完了」は、ジョブがまだ実行時間に達していないことを意味します。実行ステータスが報告されない場合、「準備完了」はジョブがアクティブ化されたことを意味するだけで、ジョブが実行されているかどうかは不明です。
レポートの実行ステータス:Executorジョブの実行ステータスレポートの切り替え。詳細については、以下の「ジョブの詳細設定」の章を参照してください
-
Running:ジョブは実行中です。
-
停止:ジョブは停止しており、実行されていません。
-
停止中:ジョブは無効ですが、ジョブは実行中です。実行後は「停止」状態になります。
-
-
割り当てのグループ化:管理の便宜上、割り当てはグループ化できます。グループ化の方法については、「ジョブの詳細設定」で説明します。
-
断片化:ジョブが断片化されるさまざまなエグゼキューターの数を示します。エグゼキューターは、コンテナーまたは物理マシンにすることができます。アイコンにマウスを移動すると、詳細な実行者名が表示されます。
-
単一ジョブの操作の無効化とコピー:操作アイコンとコピー操作アイコンを順に無効にします。
ジョブが有効になっている場合は、無効にすることができます。
なお、ジョブを無効にしても、ジョブはすぐに終了するわけではありません。デフォルトでは、この実行が完了するまで待機します。ジョブをすぐに終了する場合は、ジョブの詳細設定ページに移動して、[今すぐ終了]をクリックする必要があります。
-
ジョブ操作ボタンバー、順に:
-
バッチ有効化:「停止」状態のジョブをバッチで選択して有効化します。
-
バッチの無効化:有効になっているジョブ(準備完了および実行中の状態を含む)をバッチ選択して、無効にします。
-
一括削除:「停止」状態の一括削除ジョブ。
-
バッチの優先順位(エクセキューター):特定のエグゼキューターを選択してジョブを実行する場合は、優先順位エグゼキューターを設定する必要があります。ドロップダウンボックスの候補は、現在のドメインのすべての実行者です。
優先エグゼキューターがまだオンラインの場合、すべての優先エグゼキューターがオフラインでない限り、土星は優先度になっていない他のエグゼキューターに実行するジョブをスケジュールしません。
-
追加(単一のジョブ):単一のジョブをすばやく追加します。
-
インポート(ジョブ):事前にExcelでジョブ構成を定義し(テンプレートはポップアップウィンドウに表示されます)、この関数を使用してこのExcelをアップロードし、バッチインポートを完了します。
-
エクスポート(ジョブ):ドメイン下のすべてのジョブの構成をExcelにエクスポートします。
ヒント:テスト環境のすべてのタスクを実稼働環境に転送する場合は、テスト環境でExcelをエクスポートしてから、実稼働環境にインポートするだけです。
-
-
割り当ての検索:割り当て名で割り当てを検索します。
-
異常なジョブの概要:ドメイン内の異常なジョブの数を表示し、クリックしてアラームセンターに入ります。
-
単一のジョブの有効化と削除:ジョブが「停止」状態の場合、有効化ボタンを使用して有効化するか、「削除」機能を使用してジョブを削除できます。
3.課題を追加します
ジョブを追加するには、3つの異なる方法があります。新しいジョブを作成する、xlsからジョブをインポートする、または既存のジョブをコピーします。
3.1新しい課題を作成する
割り当ての概要で[追加]ボタンをクリックすると、さまざまな種類の割り当てを追加できます。現在、Javaタイミングジョブとシェルタイミングジョブの2種類のジョブをサポートしています。
3.1.1 Javaタイマージョブの作成
-
ジョブ名:ドメイン全体で一意のジョブ名。
-
ジョブ実装クラス:Javaジョブコードの実装クラス。
-
シャードの合計数:同時スケジューリングのために、同じジョブを複数のシャードに分割できます。シャードのデフォルトの総数は1です。
-
cron式:Quartzのcron式に基づいて、公式チュートリアルはこちら、中国語チュートリアルはこちらです。「予測」ボタンをクリックして、Cronが正しいかどうかを確認できます。
-
フラグメント化パラメーター:フラグメントのシーケンス番号とパラメーターは等号で区切られ、複数のキーと値のペアはコンマで区切られます。フラグメントシーケンス番号は0から始まり、ジョブフラグメントの総数以上にすることはできません。例:0 = a、1 = b、2 = c;英語の二重引用符の代わりに!!、英語の等号の代わりに@@、英語のコンマの代わりに##を使用してください。
ジョブのすべてのフラグメントにパラメーターが必要ない場合は、値を0のままにします。たとえば、パラメータのない2つのフラグメントがある場合、「0 = 0」です。
ローカルモードのジョブの場合、形式は* = valueです。ローカルモードの概要については、「ジョブの詳細設定」の章を参照してください。
3.1.2シェルタイミングジョブの作成
土星のプログラミング言語のサポートは、理論的には無制限です。非Javaジョブの場合は、シェルタイプのジョブを使用してビルドしてください。
シェルタイプのジョブのパラメーターは、基本的にJavaタイミングジョブと同じです。以下は2つの例です。
シェルスクリプト
「helloworld.sh」という名前のシェルスクリプトを実行する場合は、スライスパラメータで次のように設定できます。このうち、some_folderはエグゼキューター内のスクリプトのディレクトリです。
0=/bin/sh some_folder/helloword.sh
Linuxコマンド
0=echo 'hello world'
PHP
0=php helloworld.php
3.1.3パッシブジョブを作成する
この機能にはバージョン3.3.0以降を使用してください。
-
パッシブジョブは、ジョブのスケジューリングに使用されます。アップストリームジョブが正常に実行されると、ダウンストリームジョブがすぐに実行されます。
-
パッシブジョブのみがアップストリームジョブを構成できます。下流の操作は受動的な操作でなければなりません。
-
アップストリームジョブをローカルモードジョブにすることはできません。フラグメントの数は1のみです。
-
構成されたアップストリームおよびダウンストリーム操作チェーンはループを形成できません。
3.2インポートジョブ
「ジョブの概要」の章の「インポート(ジョブ)」と「エクスポート(ジョブ)」の概要を参照してください。
一般的な使用シナリオは、異なる環境間でバッチジョブを移行することです。
3.3コピージョブ
既存のジョブから新しいジョブをコピーします。
「ジョブの概要」の章の「1つのジョブの無効化とコピー」の概要を参照してください。
4.詳細なジョブ設定
ジョブ設定をクリックすると、さらに多くのジョブ構成パラメーターが表示されます。
4.1 Javaジョブの詳細設定
-
ユーザー定義パラメーター:フラグメントシーケンス番号/パラメーター比較表でエイリアスの形式で参照できます。形式は{key1}です。ジョブ実装クラスは、SaturnJobExecutionContext#getJobParameterメソッドを介して取得できます。
構成形式:複数の構成はコンマで区切られます(key1 = value1、key2 = value2)。
-
優先実行者:特定の物理マシン実行者を選択してジョブを実行する場合は、優先実行者を設定する必要があります。ドロップダウンボックスの候補は、現在のドメインのすべてのオンライン実行者です。
優先エグゼキューターがオンラインの場合、すべての優先エグゼキューターがオフラインでない限り、土星は優先度になっていない他のエグゼキューターに実行するジョブをスケジュールしません。
-
優先実行プログラムのみを使用:優先実行プログラムがオフラインの場合、他のマシンにフェイルオーバーしません。
-
ローカルモード:一部のタイミングタスク(ローカルログの定期的なクリーニング、ローカル構成の定期的な更新など)があり、定期的に実行する必要があり、1つのプロセス(スレッド)でのみ実行できます。新しいマシンが継続的に追加されると、新しく追加されたマシンはタイミング実行に自動的に参加します。マシンがオフラインになっても、他のマシンがそのタスクを引き継ぐ必要はなく、フェイルオーバーも必要ありません。このようなタスク(ジョブ)はローカル操作に関連することが多く、これをローカルモード操作と呼びます。
-
タイムアウトアラーム:このしきい値を超えた場合にアラームを送信します(アラームはインターフェースを提供するだけで、各ユーザーはアラームロジックを自分で実装する必要があります)。0は設定されていないことを意味します(デフォルト)。
-
時間の経過による強制キル:しきい値を超えると、プレーヤーは強制的に強制終了されます。0は設定されていないことを意味します(デフォルト)。
-
所有グループ:構成ジョブが属するグループ。ジョブの概要ページでグループでフィルタリングできます。エグゼキュータが関連グループに属するジョブのみの開始をサポートし始めたときに、環境変数または-DパラメータVIP_SATURN_INIT_JOB_BY_GROUPSを構成します。
-
ジョブの負荷:Saturn Executorのジョブの断片化スケジューリングアルゴリズムの中核となる考え方は、ドメイン全体の実行プログラムの負荷が均等になるようにすることです。Executorの負荷は、すべてのジョブフラグメントの重みに負荷を掛けたものに等しくなります。簡単に言うと、ジョブがより多くのリソースを消費するようにする場合は(Executor)、2次負荷を大きな値に設定します。
-
統計処理間隔:エグゼキューターは定期的に統計データをコンソールに報告しますこの設定項目は、この期間のサイズを設定します。
-
コンソール出力ログ:有効にすると、コンソールログに出力されたすべてのジョブがここに表示されます。デフォルトでは有効になっていません。動作デバッグ時のみ使用することをお勧めします。多数のログがZKのパフォーマンスに影響を与えるためです。
-
実行ステータスのレポート:この機能が有効になっている場合、エグゼキューターはジョブが実行中か、実行ステータスが完了したかをZKにレポートします。時限ジョブ(Javaおよびシェルを含む)の場合、スケジューリング頻度が5秒より高い場合はデフォルトで報告され、それ以外の場合は報告されません。メッセージジョブの場合、デフォルトでは報告されません。
-
フェイルオーバー(フェイルオーバー):有効にした後、ジョブの操作中にエグゼキューターが突然ドロップすると、エグゼキューターで実行されているシャードは他のエグゼキューターにフェイルオーバーし、次のスケジューリング中に再実行されるのを待ちます。従属状況はフェイルオーバーしません:
- 実行ステータスを報告しないジョブ(第2レベルのジョブなど)
- ローカルモード操作
-
古くて実行されていないジョブを再試行する:1回限りの補正メカニズムを提供して、古くなったジョブと実行されていないジョブを再度実行できるようにします。この機能は主に低頻度のジョブ用です。半日以上のジョブをスケジュールしたり、一度にジョブを実行したりする場合は、このオプションをオンにできます。
-
ダウンストリームジョブ:バージョン3.3.0以降、ジョブのスケジューリングに使用されます。
-
一時停止日:ジョブはこの日付の間は実行されません。コンマで区切られた複数の日付範囲をサポートします。たとえば、03 / 12-03 / 15、11 / 23-12 / 25などです。日付が空で期間が空でない場合、それらの期間は毎日中断されます
-
一時停止期間:ジョブはこの期間中に実行されません。コンマで区切られた複数の期間をサポートします。たとえば、12:23-13:23,16:00-17:00です。日付が空ではなく、期間が空の場合、それらの日付は24時間保留されていることを意味します
- 例:11/10の19:50から20:30の間にジョブの一時停止を設定する方法。以下を参照してください。
4.2シェルジョブの詳細設定
説明は、上記のJavaジョブの詳細設定と一致しています。
5.ジョブを有効にする
ジョブを追加したら、エグゼキューターが実行できるようにする必要があります。
ジョブを有効にする方法はいくつかあります。
- 以下に示すように、ジョブプレビューページでバッチを有効にするか、単一ジョブを有効にします。
- 次に示すように、ジョブ操作バーでジョブを有効にします。