private void RestartServices() { string strServiceName = string.Empty; try { BMCMonitoring objMonitoring = new BMCMonitoring(); string strServiceNames = DBBuilder.DBCalls.GetServiceNames(); LogManager.WriteLog("RestartServices: Service to restart " + strServiceNames, LogManager.enumLogLevel.Info); string strSiteStatus = string.Empty; int SystemEventsToGet = Convert.ToInt16(ConfigManager.Read("NoofSystemLogsToGet")); if (!string.IsNullOrEmpty(strServiceNames)) { strSiteStatus = objMonitoring.GetSiteStatus(strServiceNames, SystemEventsToGet); DataTable dtServiceStatus = GetServiceStatus(strSiteStatus); foreach (DataRow dr in dtServiceStatus.Rows) { if (dr["ServiceStatus"].ToString().ToUpper() != "RUNNING") { strServiceName = dr["ServiceName"].ToString(); if (strServiceName.ToUpper() != "BMCGUARDIANSERVICE") { try { if (objMonitoring.RestartService(strServiceName)) { LogManager.WriteLog(strServiceName + " Restarted", LogManager.enumLogLevel.Info); } else { LogManager.WriteLog("Error while restarting " + strServiceName, LogManager.enumLogLevel.Info); } } catch (Exception ex1) { LogManager.WriteLog("Error while restarting " + strServiceName, LogManager.enumLogLevel.Error); ExceptionManager.Publish(ex1); } } } } } } catch (Exception ex) { ExceptionManager.Publish(ex); } }
void serviceStatusTimer_Elapsed(object sender, System.Timers.ElapsedEventArgs e) { string strServiceName = "BMCNetworkService"; try { DataSet dsData = DBBuilder.DBCalls.GetServiceStatusDetails(); bool bRequired = false; LogManager.WriteLog("Service Status Details - Timer Triggered.", LogManager.enumLogLevel.Error); if (dsData.Tables.Count > 0) { if (dsData.Tables[0].Rows.Count > 0) { DateTime dtNextRun; try { dtNextRun = Convert.ToDateTime(dsData.Tables[0].Rows[0]["SS_NextRunTime"]); } catch (Exception ex) { dtNextRun = DateTime.Now; ExceptionManager.Publish(ex); } int iStatus = DateTime.Compare(DateTime.Now, dtNextRun); LogManager.WriteLog("Service Status Details - Current Date " + DateTime.Now.ToString() + " NextRunDate " + dtNextRun.ToString() + " Status " + iStatus.ToString(), LogManager.enumLogLevel.Error); if (iStatus > 0) { bRequired = true; } } else { bRequired = true; } } else { bRequired = true; } if (bRequired) { BMCMonitoring objMonitoring = new BMCMonitoring(); LogManager.WriteLog("Service Status Details - Starting Process.", LogManager.enumLogLevel.Error); if (objMonitoring.RestartService(strServiceName)) { DBBuilder.DBCalls.UpdateServiceStatusDetails(); LogManager.WriteLog(strServiceName + " Restarted", LogManager.enumLogLevel.Info); } else { LogManager.WriteLog("Error while restarting " + strServiceName, LogManager.enumLogLevel.Info); } } } catch (Exception exserviceStatusTimer_Elapsed) { LogManager.WriteLog("Error while restarting " + strServiceName, LogManager.enumLogLevel.Error); ExceptionManager.Publish(exserviceStatusTimer_Elapsed); } }