スケジュールの管理

logo cloud active logo hybrid disabled logo server disabled logo rtf disabled

Runtime Manager を使用して、デプロイされたアプリケーションのフロー内の Scheduler コンポーネントの表示と制御を行うことができます。 左側のナビゲーションメニューにある ​[Schedules (スケジュール)]​ タブを使用して、実行中のアプリケーションを変更することなく、Scheduler 要素を有効化または無効化するか、頻度を変更するか、スケジュール済みジョブを直ちに実行します。

[Schedules (スケジュール)]​ タブは、次のようなユースケースで特に役立ちます。

  • 毎晩実行するジョブがあるが、今すぐデバッグしたい。

    アプリケーションでスケジュールを更新しなくても、実行中のジョブをトリガできます。

  • 再デプロイせずに実行時にアプリケーションでスケジュールを変更したい。

  • 接続しているアプリケーションのうちの 1 つがメンテナンス中である間に、スケジュールされたジョブを無効にしたい場合。

  • アプリケーション内のスケジュールを実行時に可視化したい場合。

CloudHub スケジューラは、毎回の実行時にジョブ設定を読み取ります。 スケジューラ設定を更新した場合、次回スケジューラが実行されるときに変更が有効になります。

スクリプトを使用して CloudHub のスケジュールを管理することはできません。 CloudHub のスケジュールを管理するには、​[Schedules (スケジュール)]​ タブまたは CloudHub API を使用してください。

考慮事項と制限事項

スケジュールを設計するときには、次の点を考慮してください。

  • ネットワーク障害、ハードウェアの問題や定期メンテナンスによるインフラストラクチャの再起動、セキュリティ更新の間の高可用性を計画します。

    サービス更新やセキュリティパッチ適用中、CloudHub では既存のスケジュールが完了するまで 2 分待機します。 2 分後に、CloudHub によって未完了のスケジュールが再トリガされます。

    長時間実行されるスケジュールの再トリガを避けるために、アプリケーションによってフローが冪等で実行されるようにしてください。

  • スケジューラは CloudHub で管理され、複数のワーカーが使用可能であっても、1 つのワーカーのみでトリガされます。

  • コール間の最小の推奨頻度は 10 秒です。

  • アプリケーションが実行されていないためにスケジュールされたジョブがトリガされない場合は、 CloudHub では、再起動されるとすぐにジョブをトリガします。

  • Mule 4.x アプリケーションでスケジュールを使用してサブフローが含まれるフローをトリガする場合、スケジューラは次の実行をスケジュールする前にメインフローとサブフローの両方が完了するまで待機します。

    フロー名には、文字 (a-zA-Z)、数字 (0-9)、ハイフン (-)、アンダースコア (_)、ピリオド (.) の各文字のみを含めることができます。

  • アプリケーションをデプロイしている地域に関係なく、スケジュールはすべて UTC タイムゾーンに基づきます。

Runtime Manager でアプリケーションを表示して管理する

Runtime Manager のスケジュール機能を使用するには、1 つ以上の Scheduler 要素を含むアプリケーションをデプロイします。

Anypoint Studio キャンバスの Scheduler コンポーネント
Figure 1. 矢印は、Anypoint Studio キャンバスの ​Scheduler​ コンポーネントを示しています。

このサンプルアプリケーションは Exchange からダウンロードできます。

アプリケーションを CloudHub にデプロイしたら、Runtime Manager で Scheduler 要素を表示して管理します。

  1. 左ペインで ​[Applications (アプリケーション)]​ をクリックし、アプリケーションをクリックしてから ​[Schedules (スケジュール)]​ をクリックします。

    [Schedules (スケジュール)] ページの [Logs (ログ)] オプション、[Last Run (最終実行)] 列、頻度リンク
    Figure 2. このスクリーンショットは、​[Schedules (スケジュール)]​ ページの (​1​) ​[Logs (ログ)]​ オプション、(​2​) ​[Last Run (最終実行)]​ 列、(​3​) 頻度リンクを示しています。

    [Last Run (最終実行)]​ 列には、各 Scheduler 要素が最後に実行された日時が表示されます。 左側のナビゲーションメニューにある ​[Logs (ログ)]​ をクリックすると、スケジュールされたジョブの実行がいつ開始され、終了したのかについて詳細を参照できます。

    Runtime Manager では、Scheduler 要素がアプリケーションに表示される順序でリストされます。

  2. 管理する要素を選択してから、以下を実行します。

    • スケジュールを上書きしてジョブを直ちに実行する場合は、​[Run now (今すぐ実行)]​ をクリックします。

    • Scheduler 要素をサスペンドする場合は、​[Disable (無効化)]​ をクリックします。

      再び有効化されるまで、スケジュールされたジョブは実行されません。

    • [Schedule (スケジュール)]​ 列で頻度リンクをクリックして、スケジュールエディタを開きます。

      スケジュールエディタの [Switch to advanced mode (高度なモードに切り替え)] リンク
      Figure 3. 矢印は、スケジュールエディタの ​[Switch to advanced mode (高度なモードに切り替え)]​ リンクを示しています。

      スケジュールエディタで、スケジュールの頻度を変更するか、または ​[Enabled (有効)]​ チェックボックスをオフにしてスケジュールを無効にします。

      頻度の値としては 1 ~ 100 秒を指定できます。

      また、高度なモードに切り替えて Cron 式を使用することで、「毎週木曜日の午後 3 時 00 分」のような詳細なスケジュールを作成することもできます。

  3. [Update (更新)]​ をクリックして設定の変更内容を保存するか、または ​[Cancel (キャンセル)]​ をクリックして保存せずに終了します。

Cron 式の使用

Cron 式を使用すると、「毎週金曜日の午前 9 時 00 分から午前 10 時 00 分まで 5 分おき」といった複雑なスケジュール頻度を作成できます。

Cron 式を使用してスケジュール頻度を指定する手順は、次のとおりです。

  1. スケジュールエディタで ​[Switch to advanced mode (高度なモードに切り替え)]​ をクリックします。

  2. 高度なモードページで ​[Quick reference (クイックリファレンス)]​ をクリックして、必須項目と許可される値のテーブルを展開するか折りたたみます。

    高度なモードページの [Quick reference (クイックリファレンス)] 切り替え、[more (その他)] リンク、[Switch to basic mode (基本モードに切り替え)] リンク
    Figure 4. このスクリーンショットは、高度なモードページの (​1​) ​[Quick reference (クイックリファレンス)]​ 切り替え、(​2​) ​[more (その他)]​ リンク、​[Switch to basic mode (基本モードに切り替え)]​ リンクを示しています。

    この例の Cron 式は、10 秒間隔のスケジュールを設定しています。

    このページで、次の手順を実行します。

    • [more (詳細)]​ をクリックして Quartz ドキュメント​を表示し、Cron トリガの作成方法を確認します。

      バージョンを選択し、​[Documentation (ドキュメント)] > [User’s Guide (ユーザガイド)] > [Tutorial (チュートリアル)]​ をクリックして、​[CronTrigger]​ レッスンをクリックします。

      スケジュールはすべて UTC タイムゾーンに基づくため、タイムゾーン設定は無視されます。
    • 詳細モードを終了する場合は ​[Switch to basic mode (基本モードに切り替え)]​ をクリックします。

  3. [Update (更新)]​ をクリックして Cron 設定の変更内容を保存するか、または ​[Cancel (キャンセル)]​ をクリックして保存せずに終了します。

Was this article helpful?

💙 Thanks for your feedback!