Scheduler XML リファレンス

Scheduler 用の XML には次の要素があります。

  • scheduler​ 親要素は他の要素を包含します。

  • scheduling-strategy​ ブロックは ​scheduler​ の内部に置かれます。

  • fixed-frequency​ または ​cron​ 要素は ​scheduling-strategy​ ブロックの内部に置かれます。

<scheduler>​ プロパティ

属性 説明

disallowConcurrentExecution

前回のフロー実行が終了していない場合、次にスケジュールされているフロー実行をスキップします。次の実行試行は、別の頻度期間の後になります。デフォルト値は ​false​ です。

disallowConcurrentExecution="true"

<?xml version="1.0" encoding="UTF-8"?>
<mule xmlns="http://www.mulesoft.org/schema/mule/core"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd">
    <flow name="componentsFlow">
      <scheduler doc:name="Scheduler" disallowConcurrentExecution="true">
        <scheduling-strategy >
          <fixed-frequency frequency="1000"/>
        </scheduling-strategy>
      </scheduler>
    </flow>
</mule>

<fixed-frequency>​ プロパティ

属性 説明

frequency

時間単位で指定されるトリガー頻度。​0​ または負の値に指定すると、デフォルト値 (1 分) が使用されます。

frequency="1000"

timeUnit

frequency 値と startDelay 値の時間単位:

MILLISECONDS (ミリ秒)、SECONDS (秒)、MINUTES (分)、HOURS (時)、DAYS (日)

timeUnit="MILLISECONDS"

startDelay

フローを最初にトリガーしたときに、Mule はスケジューラーの最初の実行を指定時間だけ遅らせます。この時間は、頻度と同じ時間単位で表されます。

startDelay="0"

<?xml version="1.0" encoding="UTF-8"?>
<mule xmlns="http://www.mulesoft.org/schema/mule/core"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd">

    <flow name="componentsFlow">
        <scheduler>
            <scheduling-strategy>
                <fixed-frequency startDelay="5" frequency="10" timeUnit="SECONDS"/>
            </scheduling-strategy>
        </scheduler>
        <logger message="my message"/>
    </flow>

</mule>

<cron>​ プロパティ

Cron 式を使用することで、より複雑なスケジューリング戦略を設定できます。

パラメーター デフォルト値 説明

expression

-

Cron 式を使用してトリガーのタイミングを指定します。

expression="1 1 1 1,7 * ?"

timeZone

システムプロパティとして渡されるタイムゾーン、またはマシンのオペレーティングシステムで設定されているタイムゾーン。

Java のタイムゾーン​形式のタイムゾーン

timeZone="America/Argentina/Buenos_Aires"

Cron 式を使用した例:

<?xml version="1.0" encoding="UTF-8"?>
<mule xmlns="http://www.mulesoft.org/schema/mule/core"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd">

    <flow name="componentsFlow">
        <scheduler>
            <scheduling-strategy>
                <cron expression="0 0 12 * * ?"/>
            </scheduling-strategy>
        </scheduler>
        <logger message="my message"/>
    </flow>

</mule>