High Quality JMS Messaging.

Job Schedules

Jobs are started and stopped on base of schedules. Before you create a schedule, you should know:

Then select folder "Job Schedules", perform a right mouse click, and select "Create a new Entity":

A dialog to enter the schedule appears:

The fields have the following meanings:

Field Description
Name The name of the schedule, e.g. "daily backup".
Calendar The name of the calendar to use. Optional.
From Date The date when the schedule becomes valid. Optional, default is "now".
To Date The date after which the schedule expires. Optional, default is "forever".
Enabled Enables/disables the schedule.
Job Group The name of the job group.
Job Name The name of the job.
Logging Enabled If enabled, start/stop of job instances are logged in the router's log file.
Max. Runtime The maximum runtime of a job. Optional and depends on the job. The format is "<n>('h'|'m'|'s')", e.g. 1h is one hour, 30m is thirty minutes and so on. If specified, a job instance is explicitely stopped from the Scheduler Swiftlet after this amount of runtime.
Time Expression The time expression. See below.

Time Expressions

The time expression can be specified in 2 different formats: as an 'at' expression or a 'repeat' expression.

'at' Expression

The 'at' expression specifies fixed time points during the day. The format is:

        'at' HH:mm[:ss][, HH:mm[:ss]...]

Example:

        at 10:00, 12:30:45, 15:15

'repeat' Expression

The 'repeat' expression specifies a repeat interval. The format is:

        'start' HH:mm[:ss] 'stop' HH:mm[:ss] 'delay' <n>('h'|'m'|'s') ['repeat' <m>]

Example:

        start 09:10:15 stop 18:00 delay 15s

This starts the job at 09:10:15 and repeats it every 15 seconds till 18:00.

Example:

        start 09:10:15 stop 18:00 delay 15s repeat 100

This starts the job at 09:10:15 and repeats it every 15 seconds till 18:00 or until it reaches 100 invocations per day. The "repeat 100" is for convenience. You can also compute the absolute stop time.

Example

Say, we have a queue containing order messages. The messages are processed locally from a JMS client (an order processor). However, it might be that the local order processor is too busy to process all orders. Thus, we want to move all messages of the local order queue to a order queue on router2 where another order processor can process it. This should be done on business days, every 2 hours. Only those messages should be move which are marked as "URGENT" via a JMS property "OrderPriority". No problem, we will use the "Queue Mover" job for this.

First of all, we create the schedule:

We have to define further job parameters for the "Queue Mover" job, so we cannot enable the schedule yet. We will do it later. Click the "Create" button. The new schedule will be shown under the "Job Schedules" folder. Select folder "Parameters", do a right click and select "Create a new Entity":

Specify the "Source Queue" parameter:

Repeat the step to specify the "Target Queue" parameter:

The last parameter is "Message Selector":

Your schedule is finished now. All you have to do to activate it is to enable it. Thereafter, don't forget to save the router configuration.

To monitor your schedule, please check the "Monitoring" section.