diff --git a/main.py b/main.py index 9035d88..db081a0 100755 --- a/main.py +++ b/main.py @@ -2,8 +2,6 @@ import os, time, signal, traceback import RPi.GPIO as GPIO -from queue import Queue -from multiprocessing.managers import BaseManager from auxilary import fallbackLogger @@ -18,7 +16,6 @@ def clean(): except NameError: pass - # TODO: this part is really wordy and makes me sad try: logger.info('Terminated root process - PID: %s', os.getpid()) logger.stop() @@ -27,26 +24,10 @@ def clean(): except Exception: printTrace(traceback.format_exc()) - try: - manager.__del__() # kill process 2 - except NameError: - pass - except Exception: - printTrace(traceback.format_exc()) - def sigtermHandler(signum, stackFrame): logger.info('Caught SIGTERM') raise SystemExit -class ResourceManager(BaseManager): - def __init__(self): - super().__init__() - - self.register('Queue', Queue) - - def __del__(self): - self.shutdown() - if __name__ == '__main__': try: os.chdir(os.path.dirname(os.path.realpath(__file__))) @@ -54,14 +35,8 @@ if __name__ == '__main__': GPIO.setwarnings(False) GPIO.setmode(GPIO.BCM) - manager = ResourceManager() - manager.start() # Child process 1 - - loggerQueue = manager.Queue() # used to buffer logs - ttsQueue = manager.Queue() # used as buffer for TTS Engine - from sharedLogging import MasterLogger - logger = MasterLogger(__name__, 'DEBUG', loggerQueue) + logger = MasterLogger(__name__, 'DEBUG') from notifier import criticalError diff --git a/sharedLogging.py b/sharedLogging.py index 647270b..f6b5616 100644 --- a/sharedLogging.py +++ b/sharedLogging.py @@ -1,16 +1,9 @@ import logging, os from subprocess import run, PIPE, CalledProcessError -from logging.handlers import TimedRotatingFileHandler, QueueListener, QueueHandler +from logging.handlers import TimedRotatingFileHandler from auxilary import fallbackLogger -def SlaveLogger(name, level, queue): - logger = logging.getLogger(name) - logger.setLevel(getattr(logging, level)) - logger.addHandler(QueueHandler(queue)) - logger.propagate = False - return logger - class GlusterFS(): def __init__(self, server, volume, mountpoint, options=None): if not os.path.exists(mountpoint): @@ -46,7 +39,7 @@ class GlusterFS(): raise SystemExit class MasterLogger(): - def __init__(self, name, level, queue): + def __init__(self, name, level): mountpoint = '/mnt/glusterfs/pyledriver' self.fs = GlusterFS('192.168.11.39', 'pyledriver', mountpoint, 'backupvolfile-server=192.168.11.48') @@ -70,18 +63,14 @@ class MasterLogger(): self.rotatingFile = TimedRotatingFileHandler(logdest + '/pyledriver-log', when='midnight') self.rotatingFile.setFormatter(fileFormat) - logging.basicConfig(level=getattr(logging, level), handlers=[QueueHandler(queue)]) + logging.basicConfig(level=getattr(logging, level), handlers=[console, self.rotatingFile]) logger = logging.getLogger(name) # since the logger module sucks and doesn't allow me to init # a logger in a subclass, need to "fake" object inheritance for i in ['debug', 'info', 'warning', 'error', 'critical']: setattr(self, i, getattr(logger, i)) - - self.queListener = QueueListener(queue, console, self.rotatingFile) - self.queListener.start() def stop(self): - self.queListener.stop() self.rotatingFile.close() # must close file stream before unmounting self.fs.unmount()