In the tree view of "Repository Explorer" tool window. Navigate to the "FIXScheduler" node under a repository node. Right click the node and choose "Create New Scheduler". A new scheduler name dialog will pop up.
Give the scheduler a unique name and click "OK". A new scheduler will be created and open in a new scheduler editor view. Note the name of scheduler must not conflict with other scheduler names in the repository and must follow the Naming Convention.
User can give the new scheduler a description. The time zone of the scheduler must be specified. In this example, we assign the "US Eastern Time" (GMT-5) time zone to the scheduler.
In this example, we are going to create a scheduler that only runs once between 01:00 AM to 23:59 PM on the day of October 1st of year 2007.
In the scheduler editor, click the "Add" button, then select "Interval" from the drop down menu.
A scheduler interval dialog will pop up. Choose a type of "Precise" and set the "Start" and "Stop" dates as shown below.
Click "OK" button, the interval will be added to the scheduler.
Note: The Enterprise Manager checks the validity of scheduler intervals. For example, in the precise type of interval, if the start time is later than the stop time, the dialog will display "Invalid" and the "OK" button will be disabled so that the user can't add an invalid interval into scheduler.
The following screen shot shows a "DailyInWeek" type of interval which is scheduled 5 times a week: from 07:00:00 to 18:30:00 Monday through Friday.
The following screen shot shows a "Weekly" type of interval which is scheduled once a week: from Monday 01:00:00 to Friday 23:00:00.
With weekly scheduler, user can define a "near 24X7" schedule.
To define a close to 24 by 7 interval, the start and stop weekday have to be the same day and the intra-day time has to be "inversed" (the start time is later than the stop time). For example, an interval that starts at 02:00AM every Monday and stops at 01:00AM every Monday only leaves 1 hour "down time" every week (from 01:00AM to 02:00AM every Monday).
Note: In the example above, the start time (02:00AM) is later than the stop time (01:00AM); otherwise the interval will represent a repeating event of only one hour per week (from 01:00AM to 02:00AM every Monday).
In QWFIX system, scheduler is used to define recurring events, such as the life cycles of FIX sessions and FIX engines. In either cases, the duration of interval should not be below a certain threshold.
For example, it does not make any sense to schedule a FIX session to be up and running for only 1 second every day. Usually a scheduler like that indicates a mistake in configuration.
In current Scheduler Editor GUI, a hard threshold of minimum schedule interval duration is set to 2 minutes. In scheduler dialog, if user sets the duation below that threshold, a warning text will be displayed on the top part of the dialog, and the "OK" button will not be enabled.
The 2 minutes pre-defined duration threshold may be changed in the future release of the QWFIX system.
In QWFIX, the schedulers are generally used to define repeating event intervals (unless for "Precise" type of scheduler which defines a fixed "one time" interval).
The schedulers are used to control the life cycle of FIX sessions and FIX engines.
With QWFIX, people can build trading sessions that running continuously for a whole week to handle continuous trading and executions.
However, it's not practical to build a process that keeps up and running for months. There's simply no such application in electronic trading business.
Nevertheless, it's not difficult to implement a monthly or quarterly scheduler or schedulers with longer intervals. When there's a requirement we will add support of schedulers with longer intervals.