Nirvana 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");

 }

}