Universal Messaging Scheduling : Example Realm Script
/*
Comments must be enclosed in /* and */ sections
This is an example scheduler script
*/
scheduler realmSchedule {
declare Config myGlobalConfig ("GlobalValues");
declare Config myAuditConfig ( "AuditSettings");
declare Config myTransConfig ( "TransactionManager");
initialise {
Logger.report("Realm optimisation script and monitor startup initialising");
myAuditConfig.ChannelACL("false");
myAuditConfig.ChannelFailure("false");
myGlobalConfig.MaxBufferSize(2000000);
myGlobalConfig.StatusBroadcast(2000);
myGlobalConfig.StatusUpdateTime(86400000);
myTransConfig.MaxTransactionTime(3600000);
Logger.setlevel(4);
}
every 30 {
Logger.report("Hourly - Executing Tasks");
}
every 18:00 {
Logger.report("Daily - performing maintenance");
Store.maintain("/customer/sales");
}
every We 17:30 {
Logger.report("Weekly - Performing Purge");
Store.purge("/customer/sales");
}
every 01 21:00 {
Logger.report("Monthly - Stopping interfaces and restarting");
Interface.stopAll();
Interface.startAll();
}
every 01-Jan 00:00 {
Logger.report("Yearly - Stopping interfaces and restarting");
Interface.stopAll();
Interface.startAll();
}
when (MemoryManager.FreeMemory <30000000) {
Logger.report("Memory below 30M, performing some clean up");
MemoryManager.FlushMemory("true");
} else {
Logger.report("Memory not below 30M, no clean up required");
}
}