Chapter 9. Scheduler
Read this chapter to learn about the role of timers in the Business Process Manager.
Timers can be created upon events in the process. Set them to trigger either action executions or event transitions.
9.1. Timers
The easiest way to set a timer is by adding a timer element to the node. This sample code shows how to do so:
<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>
A timer specified on a node is not executed after that node is exited. Both the transition and the action are optional. When a timer is executed, the following events occur in sequence:
- an event of type
timer
is fired - if an action is specified, it executes
- a signal is to resume execution over any specified transition
Every timer must have a unique name. If no name is specified in the
timer
element, the name of the node is used by default.
Use the timer action to support any action element (such as
action
or script
.)
Timers are created and canceled by actions. The two pertinent
action-elements
are create-timer
and cancel-timer
. In actual fact, the timer element shown above is just short-hand notation for a create-timer
action on node-enter
and a cancel-timer
action on node-leave
.
9.2. Scheduler Deployment
Process executions create and cancel timers, storing them in a timer store. A separate
timer runner
checks this store and execute each timers at the due moment.
Figure 9.1. Scheduler Components Overview