1.4.2 タイマーイベントのタイマールール
タイマーイベントのタイマールールの種類について,説明します。
タイマールールとは,タイマーイベントの発火時刻と,イベントの最大実行回数の設定方式です。
タイマーイベントの動作はタイマールールで決まります。タイマールールには次に示す3種類があります。
-
固定日時方式(Fixed date and time)
-
間隔方式(Duration)
-
定期日時方式(Periodic date and time)
タイマールールの概要を次の表に示します。
タイマールールの種類 |
発火時刻の指定方法の概要 |
最大実行回数※ |
---|---|---|
固定日時方式 |
ある特定の日時(年月日,および時分)を指定します。
タイマーイベントの発火タイミングは,指定された日時を経過したあととなります。 |
指定できません。実行回数は1になります。 |
間隔方式 |
時間間隔を指定します。
タイマーイベントの発火タイミングは,指定された間隔を超過したあととなります。 |
1以上を指定します。 |
定期日時方式 |
日時のパターンを指定します。
最大実行回数を無限とすると,繰り返し(「毎月」や「毎日」など)を指定できます。
|
1以上を指定します。 |
- 注※
-
次のBPMN要素の最大実行回数(Number of execution)は,BPMNエディタでの指定値に関わらず,「1」として扱われます。
-
キャッチ(タイマー)イベント
-
イベント・サブプロセス中断開始(タイマー)イベント
-
境界中断(タイマー)イベント
-
タイマーイベントを作成する方法については,「(4) タイマーイベントの作成方法」を参照してください。
(1) 固定日時方式(Fixed date and time)
タイマールールの固定日時方式(Fixed date and time)について説明します。
概要
あらかじめ決められた日時にイベントを発火します。年月日,および時分を指定する必要があります。主に,「タイマーイベントのタイマールール動的変更」と組み合わせて使用します。「タイマーイベントのタイマールール動的変更」の詳細については,「1.4.3 タイマーイベントのタイマールール動的変更」を参照してください。
イベント発火時刻の決め方
イベント発火時刻は,タイマールールで指定された日時となります。イベント発火時刻の決定タイミングに依存しません。
(2) 間隔方式(Duration)
タイマールールの間隔方式(Duration)について説明します。
概要
イベント発火時刻の決定タイミングからの時間間隔を指定します。指定できる単位は,年月日と時分の量となります。
- (例)
-
90分間
36時間
イベント発火時刻の決め方
イベント発火時刻は,イベント発火時刻の決定タイミングに依存します。イベント発火時刻の決定タイミングの日時に,指定された時間間隔を加算したものが,イベント発火時刻となります。
間隔方式(Duration)の例を次に示します。
(3) 定期日時方式(Periodic date and time)
タイマールールの定期日時方式(Periodic date and time)について説明します。
概要
設定した日時パターンに該当する場合に,イベントを発火します。月日と時の値に,任意(Every)を指定できます。年は常に任意の値となります。
- (例)
-
-
「月:任意,日:任意,時:12,分:00」の場合
任意の日の12時00分を表します。
-
「月:任意,日:01,時:09,分:00,実行回数:無限」の場合
毎月1日の9時00分を表します。
-
イベント発火時刻の決め方
イベント発火時刻は,イベント発火時刻の決定タイミングに依存します。
イベント発火時刻の決定タイミングの日時を経過したときに,設定した日時パターンに該当する日時の中で,直近のものがイベント発火時刻となります。なお,イベント発火時刻の秒以降の単位は,すべて0とします。
- (例)
-
次の条件の場合の次回イベント発火時刻を求めます。
-
日時パターン
月:任意,日:01,時:09,分:00,実行回数:無限
-
イベント発火時刻の決定タイミング
2018年1月1日の12時00分
日時パターンに該当する値は次のとおりです。
2018-01-01 09:00 2018-02-01 09:00 2018-03-01 09:00 2018-04-01 09:00 2018-05-01 09:00 :
イベント発火時刻の決定タイミングの日時を超過する直近の時刻がイベント発火時刻なので,この場合の次回イベント発火時刻は,「2018-02-01 09:00:00」となります。
-
また,日時パターンの「日」を「29」,「30」,「31」のどれかの固定値とした場合,その値が存在しない月に対しては「月末日」に変換されます。
- (例)
-
次の条件の場合の次回イベント発火時刻を求めます。
-
日時パターン
月:任意,日:31,時:09,分:00
-
イベント発火時刻の決定タイミング
2018年2月1日の12時00分
-
2月の月末日がイベント発火時刻なので,この場合の次回イベント発火時刻は「2018-02-28 09:00:00」となります。