@@ -45,71 +45,74 @@ static void Main(string[] args)
4545 var items = ServManager . Instance . Items ;
4646 foreach ( var item in items )
4747 {
48- var workerThread = new Thread ( ( ) =>
48+ if ( item . Value . Enabled )
4949 {
50- bool smsSent = false ; // SMS won't be sent successively, will always skip one instance for consecutive failures.
51- while ( true )
50+ var workerThread = new Thread ( ( ) =>
5251 {
53- var serv = item . Value ;
54- //Console.WriteLine();
55- Console . WriteLine ( "{0}: Started" , serv . Name ) ;
56-
57- var success = serv . Success ;
58- var response = serv . Execute ( ) ;
59- if ( ! response . Success )
52+ bool smsSent = false ; // SMS won't be sent successively, will always skip one instance for consecutive failures.
53+ while ( true )
6054 {
61- if ( ! string . IsNullOrEmpty ( response . Message ) )
62- Console . WriteLine ( "{0}: FAILED. {1}" , serv . Name , response . Message ) ;
63- else
64- Console . WriteLine ( "{0}: FAILED." , serv . Name ) ;
65- var mail = new MailSender ( ) ;
66- mail . Subject = string . Format ( "MCGI ServMon: {0} - Check FAILED" , serv . Name ) ;
67- mail . Message = string . Format ( "Service: {0}<br/>Time: {1}<br/>Error: {2}<br/><br/>Trace: {3}" , serv . Name , serv . LastUpdate , response . Message , response . StackTrace ) ;
68- mail . To = ( ServManager . Instance . MailSettings . To + "," + serv . ToEmails ) . Trim ( ) . TrimEnd ( ',' ) ;
69- mail . Send ( ) ;
70- Console . WriteLine ( "{0}: Email sent to {1}" , serv . Name , mail . To ) ;
71-
72- var smsTo = ( ServManager . Instance . SmsSettings . To + "," + serv . ToNumbers ) . Trim ( ) . TrimEnd ( ',' ) ;
73- if ( ServManager . Instance . SmsSettings . Enabled && serv . EnableSms && ! string . IsNullOrEmpty ( smsTo ) )
74- {
75- if ( ! smsSent )
76- {
77- var sms = new SmsSender ( ) ;
78- sms . To = smsTo ;
79- sms . Message = string . Format ( "{0} - FAILED, pls chk. %0AError: {1}" , serv . Name , response . Message ) ;
80- sms . Send ( ) ;
55+ var serv = item . Value ;
56+ //Console.WriteLine();
57+ Console . WriteLine ( "{0}: Started" , serv . Name ) ;
8158
82- Console . WriteLine ( "{0}: SMS sent to {1}" , serv . Name , smsTo ) ;
83- smsSent = true ;
84- }
59+ var success = serv . Success ;
60+ var response = serv . Execute ( ) ;
61+ if ( ! response . Success )
62+ {
63+ if ( ! string . IsNullOrEmpty ( response . Message ) )
64+ Console . WriteLine ( "{0}: FAILED. {1}" , serv . Name , response . Message ) ;
8565 else
66+ Console . WriteLine ( "{0}: FAILED." , serv . Name ) ;
67+ var mail = new MailSender ( ) ;
68+ mail . Subject = string . Format ( "ServMon: {0} - Check FAILED" , serv . Name ) ;
69+ mail . Message = string . Format ( "Service: {0}<br/>Time: {1}<br/>Error: {2}<br/><br/>Trace: {3}" , serv . Name , serv . LastUpdate , response . Message , response . StackTrace ) ;
70+ mail . To = ( ServManager . Instance . MailSettings . To + "," + serv . ToEmails ) . Trim ( ) . TrimEnd ( ',' ) ;
71+ mail . Send ( ) ;
72+ Console . WriteLine ( "{0}: Email sent to {1}" , serv . Name , mail . To ) ;
73+
74+ var smsTo = ( ServManager . Instance . SmsSettings . To + "," + serv . ToNumbers ) . Trim ( ) . TrimEnd ( ',' ) ;
75+ if ( ServManager . Instance . SmsSettings . Enabled && serv . EnableSms && ! string . IsNullOrEmpty ( smsTo ) )
8676 {
87- smsSent = false ;
77+ if ( ! smsSent )
78+ {
79+ var sms = new SmsSender ( ) ;
80+ sms . To = smsTo ;
81+ sms . Message = string . Format ( "{0} - FAILED, pls chk. %0AError: {1}" , serv . Name , response . Message ) ;
82+ sms . Send ( ) ;
83+
84+ Console . WriteLine ( "{0}: SMS sent to {1}" , serv . Name , smsTo ) ;
85+ smsSent = true ;
86+ }
87+ else
88+ {
89+ smsSent = false ;
90+ }
8891 }
8992 }
90- }
91- else
92- {
93- Console . WriteLine ( "{0}: Success!" , serv . Name ) ;
94- smsSent = false ;
95- }
93+ else
94+ {
95+ Console . WriteLine ( "{0}: Success!" , serv . Name ) ;
96+ smsSent = false ;
97+ }
9698
97- if ( success != response . Success )
98- {
99- // Change in status, write state to json file
100- writeState = true ;
101- }
99+ if ( success != response . Success )
100+ {
101+ // Change in status, write state to json file
102+ writeState = true ;
103+ }
102104
103- //Console.WriteLine("{0}: Sleeping...", serv.Name);
104- Sleep ( serv . Interval ) ;
105- }
106- } ) ;
105+ //Console.WriteLine("{0}: Sleeping...", serv.Name);
106+ Sleep ( serv . Interval ) ;
107+ }
108+ } ) ;
107109
108- workerThreads . Add ( workerThread ) ;
110+ workerThreads . Add ( workerThread ) ;
109111
110- workerThread . IsBackground = false ; // Always dependent to job threads // !forceExecute;
111- workerThread . SetApartmentState ( ApartmentState . STA ) ;
112- workerThread . Start ( ) ;
112+ workerThread . IsBackground = false ; // Always dependent to job threads // !forceExecute;
113+ workerThread . SetApartmentState ( ApartmentState . STA ) ;
114+ workerThread . Start ( ) ;
115+ }
113116 }
114117
115118 var jsonCheck = 0 ;
@@ -128,6 +131,7 @@ from i in items.Values
128131 new JProperty ( "name" , i . Name ) ,
129132 new JProperty ( "lastUpdate" , i . LastUpdate ) ,
130133 new JProperty ( "success" , i . Success ) ,
134+ new JProperty ( "enabled" , i . Enabled ) ,
131135 new JProperty ( "type" , i . Type ) ,
132136 new JProperty ( "url" , i . Url ) ,
133137 new JProperty ( "message" , i . Message )
0 commit comments