internal static void BeginShutdown()
{
#if DEBUG_SCHEDULER
Logger.Log( LogType.Debug, "Scheduler: BeginShutdown..." );
#endif
if ( ConfigKey.HbSaverKey.Enabled() && ConfigKey.IsPublic.Enabled() ) {
if ( !Server.IsRestarting ) {
try {
if ( !File.Exists( "heartbeatsaver.exe" ) ) {
Logger.Log( LogType.Warning, "heartbeatsaver.exe does not exist and failed to launch" );
return;
}
//start the heartbeat saver
Process HeartbeatSaver = new Process();
Logger.Log( LogType.SystemActivity, "Starting the HeartBeat Saver" );
HeartbeatSaver.StartInfo.FileName = "heartbeatsaver.exe";
HeartbeatSaver.Start();
} catch ( Exception ex ) {
Logger.Log( LogType.Error, "HeartBeatSaver: " + ex );
}
} else
Logger.Log( LogType.SystemActivity, "HeartBeat Saver was not launched" );
}
lock ( TaskListLock ) {
foreach ( SchedulerTask task in Tasks ) {
task.Stop();
}
Tasks.Clear();
taskCache = new SchedulerTask[0];
}
}