From 4abc0d9fa397d0c3c8bfbf940ff333e660991ea9 Mon Sep 17 00:00:00 2001 From: Dirk Alders Date: Tue, 16 Jun 2020 09:36:32 +0200 Subject: [PATCH] Queue cleaning on state change implemented --- config_example/config.py | 5 +++++ leyk.py | 2 +- piface_function.py | 6 ++++++ 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/config_example/config.py b/config_example/config.py index 216a563..d508f9b 100644 --- a/config_example/config.py +++ b/config_example/config.py @@ -12,6 +12,11 @@ secret = b'give_a_secret_string_here' server_ip = '127.0.0.1' server_port = 10001 +LOG_TARGET_STDOUT = 'stdout' +LOG_TARGET_FILE = 'logfile' +LOG_TARGET = LOG_TARGET_STDOUT + + SHORT_FMT = "%(asctime)s: %(levelname)-7s - %(message)s" """ A short formatter including the most important information""" LONG_FMT = """~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/leyk.py b/leyk.py index 7ee5d84..000823f 100644 --- a/leyk.py +++ b/leyk.py @@ -10,7 +10,7 @@ import time if __name__ == '__main__': - report.appLoggingConfigure(os.path.dirname(__file__), 'logfile', config.loggers) + report.appLoggingConfigure(os.path.dirname(__file__), config.LOG_TARGET, config.loggers) s = tcp_socket.tcp_server_stp(config.server_ip, port=config.server_port) prot = protocol.my_server_protocol(s, secret=config.secret) while True: diff --git a/piface_function.py b/piface_function.py index 2813309..aef9260 100644 --- a/piface_function.py +++ b/piface_function.py @@ -290,6 +290,7 @@ class leyk(object): self._task_1s = task.periodic(1, self.task_1s) self._task_1s.run() self.sm_mode.register_state_change_callback(self.sm_mode.STATE_MANUAL, None, self._queue.clean_queue) + self.sm_day_state.register_state_change_callback(None, None, self.clean_queue) self.sm_day_state.register_state_change_callback(self.sm_day_state.STATE_SLEEP, None, self.sm_day_state.report_sunset_sunrise) self.sm_day_state.register_state_change_callback(self.sm_day_state.STATE_SLEEP, None, self.fill_sleep_queue) self.sm_day_state.register_state_change_callback(self.sm_day_state.STATE_SUNRISE, None, self.sm_day_state.report_sunset_sunrise) @@ -413,6 +414,11 @@ class leyk(object): time.sleep(0.2) cnt += 1 + def clean_queue(self): + if self._queue.qsize() > 0: + logger.info('Cleaning up remaining %d elements from queue', self._queue.qsize()) + self._queue.clean_queue() + def fill_wake_queue(self): no_delay = self.sm_day_state.previous_state_was(self.sm_day_state.STATE_IDLE) # WAKE