From 37548cfd53947da5d1f7715d818a39d8a18a3679 Mon Sep 17 00:00:00 2001 From: Wolfgang Hottgenroth Date: Mon, 24 Jun 2019 13:17:09 +0200 Subject: [PATCH] be more cooperative, delay queue feeder by minimum scan rate in register list --- snippets/test8.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/snippets/test8.py b/snippets/test8.py index 74f6a14..4ee0d2a 100644 --- a/snippets/test8.py +++ b/snippets/test8.py @@ -95,6 +95,7 @@ class ScanRateConsideringQueueFeeder(threading.Thread): super(ScanRateConsideringQueueFeeder, self).__init__() self.registers = registers self.queue = queue + self.delayEvent = threading.Event() def run(self): while True: @@ -108,6 +109,7 @@ class ScanRateConsideringQueueFeeder(threading.Thread): for r in registersToBeHandled: self.queue.put(r) r.enqueued = True + self.delayEvent.wait(min([r.scanRate.total_seconds() for r in self.registers if r.scanRate])) class CommunicationProcessor(threading.Thread):