//////////////////////////////////////////////////////// /// /// Here is the actual workhorse /// /// public static void ScanForForeCastData() { try { while (true) { //////////////////////////////// /// /// Clean up all the data /// CSyntaxErrorLog.Cleanup(); CSemanticErrorLog.Cleanup(); GlobalSettings.Cleanup(); /////////////////// /// /// Do Processing /// ScanAndProcess(); ///////////////////////////////////////// /// /// Sleep the Thread for 2 minutes. /// in the production build , it should run /// in an interval of at least 10 minutes /// /// System.GC.Collect(); System.Threading.Thread.Sleep(60000 * 5); } } catch (Exception e) { System.Diagnostics.EventLog.WriteEntry("ForeCastLog", "Exception thrown by the Thread"); System.Diagnostics.EventLog.WriteEntry("ForeCastLog", e.ToString()); } return; }