Copyright © TIBCO Software Inc. All Rights Reserved
Copyright © TIBCO Software Inc. All Rights Reserved


Chapter 10 Time Events and Scheduler Functions : Using Scheduler Functions (Requires Cache OM)

Using Scheduler Functions (Requires Cache OM)
You schedule time events as explained in Overview of Time Events, and you schedule simple events using scheduler functions. Events scheduled using these functions are sent to their default destination.
You might use the event scheduler functions instead of a time event in the following cases:
 
Task A Create a Scheduler
First you create a scheduler using the function Cluster.createScheduler(). You can do this, for example, in a startup rule function, or other rule function or rule:

 
void createScheduler(String schedulerName, long pollInterval, long refreshAhead)

 
schedulerName   A unique ID for the scheduler you are creating.
pollInterval   TIBCO BusinessEvents checks the scheduler cache every pollInterval milliseconds, for scheduler work items whose scheduledTime falls in the current interval.
refreshAhead  Time in milliseconds (into the future) used to pre-load the scheduled events from the backing store.
In this release, the larger value of pollInterval and refreshAhead is used for both these settings.
For example:

 
Cluster.createScheduler("myScheduler", 1000, 5000);

 
Task B Schedule the Event to be Sent
You use the function Cluster.scheduleEvent() to schedule an event to be sent at a certain time, using a scheduler you created earlier. You can do this in a rule or rule function as needed:

 
void scheduleEvent(String schedulerName, String workKey, SimpleEvent evt, long scheduledTime)

 
Where:
schedulerName is the unique ID for the scheduler you created at an earlier time.
workKey is a unique key that identifies the work item (that is, the scheduled task). This key can be used to identify the work item later, for example to cancel it.
evt is the simple event to be scheduled.
scheduledTime is used to specify the time the event is sent to its default destination. The value is interpreted as an absolute time. To schedule a time relative to the present, use the System.currentTimeMillis() function, as shown below.
For example:

 
Cluster.scheduleEvent("MyScheduler", myworkKey, Event.createEvent("xslt:// details omitted "), System.currentTimeMillis() + 5000)

 
 

Copyright © TIBCO Software Inc. All Rights Reserved
Copyright © TIBCO Software Inc. All Rights Reserved