スケジュールの管理 (CloudHub)

CloudHub コンソールの左側のナビゲーションメニューにある ​[Schedules (スケジュール)]​ タブでは、デプロイされたアプリケーションのフロー内のポーリング要素を表示および制御できます。このタブでは、ポーリング要素の管理、ポーリング頻度の変更、ポーリングの即時実行を、すべて実行時に、基になるアプリケーションに一切変更を加えずに行うことができます。

ユースケース

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

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

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

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

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

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

考慮事項

[Schedules (スケジュール)]​ タブを使用するときには、次の点を考慮してください。

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

  • ポーリングコールの間隔が 10 秒未満の頻度のスケジュールはお勧めしません。

  • アプリケーションがダウンしているため、スケジュールされたジョブが 1 回以上トリガされない場合は、アプリケーションが再起動するとすぐにジョブがトリガされます。

  • CloudHub スケジューラは、毎回の実行時にジョブ設定を読み取ります。

    変更を直ちに適用するには、スケジュールの更新後にジョブを手動で実行します。

  • ポーリングの実行時間が 12 時間より長くなる場合、スケジューラは失敗し、再実行されます。

  • スクリプトを使用して CloudHub のスケジュールを管理することはできません。

    CloudHub のスケジュールを管理するには、CloudHub API または Runtime Manager の ​[Schedules (スケジュール)]​ タブを使用してください。

コンソールでのアプリケーションスケジュールの表示

Runtime Manager のスケジュール機能を使用するには、1 つ以上のポーリング要素を含むアプリケーションをデプロイします。次の例には 2 つの単純なフローが含まれており、それぞれにポーリングスコープがあります。

Studio ビジュアルエディタ

scheduling+cloudhub

Studio XML エディタ

<mule xmlns:tracking="http://www.mulesoft.org/schema/mule/ee/tracking" xmlns="http://www.mulesoft.org/schema/mule/core" xmlns:doc="http://www.mulesoft.org/schema/mule/documentation" xmlns:spring="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-current.xsd
http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd
http://www.mulesoft.org/schema/mule/ee/tracking http://www.mulesoft.org/schema/mule/ee/tracking/current/mule-tracking-ee.xsd">

    <flow name="synchronize-accounts" doc:name="synchronize-accounts">
        <poll frequency="300000" doc:name="Poll">
            <logger level="INFO" doc:name="Start" message="Start Account Synchronization ${salesforce.username}"/>
        </poll>
        <logger level="INFO" doc:name="End" message="End Account Synchronization"/>
    </flow>
    <flow name="synchronize-contacts" doc:name="synchronize-contacts">
        <poll frequency="600000" doc:name="Poll">
            <logger level="INFO" doc:name="Start" message="Start Contact Synchronization ${salesforce.username}"/>
        </poll>
        <logger level="INFO" doc:name="End" message="End Contact Synchronization"/>
    </flow>
</mule>

CloudHub ではスケジュールが自動的に同期され、ポーリングスコープを含むフローの同期プロパティ設定はすべて上書きされます。そのため、他に特別な設定を行う必要はありません。

アプリケーションをデプロイしたら、アプリケーションを選択して、左ナビゲーションメニューの ​[Schedules (スケジュール)]​ をクリックすることで、Runtime Manager でポーリング要素を表示できます。アプリケーション内のポーリング要素がアプリケーションに表示される順序でリストされます。

スケジュールの表示

各要素の名前は、ポーリングスコープの ​doc:name​ 属性によって判断されます (XML でされている場合)。​doc:name​ を指定しない場合、​yourFlowname Poll​ という名前が適用されます。

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

実行時のスケジュールの管理

Runtime Manager でスケジュールを管理するには、次の手順を実行します。

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

    スケジュールの表示
  2. 管理する要素を選択してから、以下を実行します。

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

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

      再び有効化されるまで、ポーリングジョブは実行されません。

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

      ポーリング頻度の設定

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

      また、​​Cron 式を使用することで​、「毎週木曜日の午後 3 時 00 分」のような詳細なスケジュールを作成することもできます。

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

  4. 左ナビゲーションメニューの ​[Logs (ログ)]​ をクリックして、選択したジョブが期待どおりに実行されたことを確認します。

Cron 式の使用

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

Cron 式を使用してポーリング頻度を指定するには、次の手順を実行します。

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

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

    展開されたスケジュールの高度なモード

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

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

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

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

      CloudHub ワーカーが配置された地域に関係なく、スケジュールはすべて UTC タイムゾーンに基づき、タイムゾーン設定は無視されます。

    • 詳細モードを終了する場合は ​[Switch to basic mode (基本モードに切り替え)]​ をクリックします。

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

Was this article helpful?

💙 Thanks for your feedback!