modmail_daemon.py
1 import time 2 from multiprocessing import Lock 3 4 from blottertrax.applications.modmail import ModMail 5 from blottertrax.logger import Logger 6 7 8 class ModMailDaemon: 9 crash_timeout: int = 10 10 11 def __init__(self): 12 self.logger = Logger() 13 14 def start(self, lock: Lock): 15 try: 16 self.logger.info('Starting ModMailDaemon daemon') 17 18 ModMail(lock).run() 19 except Exception: 20 self.logger.exception('ModMailDaemon threw exception') 21 22 time.sleep(self.crash_timeout) 23 24 self.start(lock)