]> git.parisson.com Git - telecaster-server.git/commitdiff
add bigger period for mail logging
authorGuillaume Pellerin <yomguy@parisson.com>
Mon, 13 Jan 2014 15:58:54 +0000 (16:58 +0100)
committerGuillaume Pellerin <yomguy@parisson.com>
Mon, 13 Jan 2014 15:58:54 +0000 (16:58 +0100)
tcserver/conf/usr/local/share/telecaster/scripts/monitor_check.py

index 94ecd5e1616bc3c551b0cf68c13d0d88047b7c72..b78f7b67a6378cf51642aed760bbd41416448489 100644 (file)
@@ -1,4 +1,4 @@
-import sys, time, logging, socket
+import sys, time, logging, socket, datetime
 from threading import Thread
 from logging.handlers import SMTPHandler
 
@@ -8,7 +8,7 @@ from watchdog.events import *
 
 IGNORE_PATTERNS = ['*.git/*', '*.swp', '*.swpx', '*~', '*.tmp',]
 HOSTNAME = socket.gethostname()
-
+LOG_MAX_PERIOD = 300
 
 class EmailLogger(object):
     """An email logging class"""
@@ -38,6 +38,8 @@ class ActivityCheck(Thread):
         self.period = int(period)
         self.path = path
         self.activity = False
+        self.last_time = datetime.datetime.now()
+        self.message_sent = False
         self.subject = 'WARNING : ' + HOSTNAME + ' : ' + 'telecaster monitor activity'
         self.logger = EmailLogger(mailhost, fromaddr, toaddrs, self.subject)
         self.event_handler = ActivityEventHandler(ignore_patterns=IGNORE_PATTERNS)
@@ -48,7 +50,12 @@ class ActivityCheck(Thread):
     def run(self):        
         while True:
             if not self.event_handler.activity:
-                self.logger.logger.error('The monitor is NOT recording anymore in ' + self.path + ' ! ')
+                now = datetime.datetime.now()
+                delta = now - self.last_time
+                if delta.total_seconds() > LOG_MAX_PERIOD or not self.message_sent:
+                    self.logger.logger.error('The monitor is NOT recording anymore in ' + self.path + ' ! ')
+                    self.last_time = now
+                    self.message_sent = True
             else:
                 self.event_handler.activity = False
             time.sleep(self.period)