Alternative Method to Maintain Indices Or Any Other Repetitive Processes

If your site is running an engine server, you can take advantage of the built-in "System Monitor" feature to automate regular processes such as index updates.  If you edit, with notepad or a similar application,  your engine server’s configuration file (normally eserver.cfg, located in your OpenInsight folder), you may find a line that starts:

SystemMonitor=

Following the equal sign, you can specify the process you want to run, along with the application, user name, and password where the process should be run (comma-delimited).  Multiple processes may be specified, separated by semi-colons.  For example, a common setup might be:

SystemMonitor=RTI_OEMONITOR_CLEANUP,SYSPROG,SYSPROG,SYSPROG;RTI_OEMONITOR_INDEX,SYSPROG,SYSPROG,SYSPROG

This will run the RTI_OEMONITOR_CLEANUP routine in the SYSPROG application, with the username SYSPROG and password SYSPROG.  And at the same time, it will also run the RTI_OEMONITOR_INDEX routine in the SYSPROG application, with the username SYSPROG and password SYSPROG.  RTI_OEMONITOR_CLEANUP will clean out old O4WTEMP entries; RTI_OEMONITOR_INDEX will run the update_index routine.

If you have other applications with indices that need to be updated, you can add them to the SystemMonitor list.  So to update the indices in the application MYAPP, username MYNAME and password MYPWD, the SystemMonitor line should now look like this:

SystemMonitor=RTI_OEMONITOR_CLEANUP,SYSPROG,SYSPROG,SYSPROG;RTI_OEMONITOR_INDEX,SYSPROG,SYSPROG,SYSPROG;RTI_OEMONITOR_INDEX,MYAPP,MYNAME,MYPWD

The engine server will run these tasks when it starts up, and then again at a specified interval.  The interval is found in the line that begins:

SystemMonitorTime=

The value that is set on this line is the number of seconds to wait between invocations.  For example, to run the system monitor processes every hour, you would specify:

SystemMonitorTime=3600

Whenever the System Monitor processes are run, they will write a record into your OpenInsight folder.  The name of the logged output will be eserver_SystemMonitor_<x>.log, where <x> is the position in the SystemMonitor list.  Using the example above:

SystemMonitor=RTI_OEMONITOR_CLEANUP,SYSPROG,SYSPROG,SYSPROG;RTI_OEMONITOR_INDEX,SYSPROG,SYSPROG,SYSPROG;RTI_OEMONITOR_INDEX,MYAPP,MYNAME,MYPWD

You should find an eserver_SystemMonitor_1.log (which contains the results from running RTI_OEMONITOR_CLEANUP), eserver_SystemMonitor_2.log (which contains the output from RTI_OEMONITOR_INDEX run in SYSPROG), and eserver_SystemMonitor_3.log (which contains the output from RTI_OEMONITOR_INDEX run in MYAPP).  If any errors occur, they will be recorded in eserver_SystemMonitor_<X>.err files instead.

Note that you must stop and restart your engine server service or process for any changes (including System Monitor changes) to take effect.