第9章 スケジューラー

本章を読んで、 ビジネスプロセスマネージャのタイマーの役割について学びましょう。
タイマーはプロセスのイベントで作成することができます。 タイマーを設定して、 アクションの実行やイベントの遷移をトリガします。

9.1. タイマー

タイマーを指定する最も簡単な方法は、 タイマー要素をノードに追加することです。 追加する方法は次のサンプルコードを見てください。
<state name='catch crooks'>
  <timer name='reminder' 
         duedate='3 business hours' 
         repeat='10 business minutes'
         transition='time-out-transition' >
    <action class='the-remainder-action-class-name' />
  </timer>
  <transition name='time-out-transition' to='...' />
</state>
ノードに指定されたタイマーは、 ノードの終了後には実行されません。 遷移とアクションは任意で指定できます。 タイマーが実行されると、 次のイベントが順次発生します。
  1. timer タイプのイベントが発生します。
  2. アクションの指定がある場合、 アクションが実行されます。
  3. 指定された遷移でシグナルが実行を再開します。
すべてのタイマーには固有の名前が付けられなければなりません。 timer 要素に名前が指定されていない場合、 デフォルトでノード名がタイマー名になります。
タイマーアクションを使用してすべてのアクションエレメントをサポートします (actionscript など)。
タイマーはアクションにより作成、 キャンセルされます。 2 つの関連する action-elementscreate-timercancel-timer です。 前述のタイマー要素は、 node-enter 上の create-timer アクションと node-leave 上のcancel-timer アクションを略したものになります。