From 023db7f075af8cfcbaf5ac54650849430305a1c2 Mon Sep 17 00:00:00 2001 From: Matjaz Pirnovar Date: Tue, 3 Aug 2021 11:05:19 -0700 Subject: [PATCH 1/2] fix: make _get_time() value the same throughout the loop --- optimizely/event/event_processor.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/optimizely/event/event_processor.py b/optimizely/event/event_processor.py index 2f457164..fbc5d6ee 100644 --- a/optimizely/event/event_processor.py +++ b/optimizely/event/event_processor.py @@ -180,14 +180,15 @@ def _run(self): """ try: while True: - if self._get_time() >= self.flushing_interval_deadline: + loop_time = self._get_time() + if loop_time >= self.flushing_interval_deadline: self._flush_batch() self.flushing_interval_deadline = self._get_time() + \ self._get_time(self.flush_interval.total_seconds()) self.logger.debug('Flush interval deadline. Flushed batch.') try: - interval = self.flushing_interval_deadline - self._get_time() + interval = self.flushing_interval_deadline - loop_time item = self.event_queue.get(True, interval) if item is None: From 2229c2779a3a5954bf1503a14364ec03252619ef Mon Sep 17 00:00:00 2001 From: Matjaz Pirnovar Date: Wed, 4 Aug 2021 11:48:54 -0700 Subject: [PATCH 2/2] fix: make all _get_time calls into loop_time --- optimizely/event/event_processor.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/optimizely/event/event_processor.py b/optimizely/event/event_processor.py index fbc5d6ee..f6dfa312 100644 --- a/optimizely/event/event_processor.py +++ b/optimizely/event/event_processor.py @@ -181,10 +181,11 @@ def _run(self): try: while True: loop_time = self._get_time() + loop_time_flush_interval = self._get_time(self.flush_interval.total_seconds()) + if loop_time >= self.flushing_interval_deadline: self._flush_batch() - self.flushing_interval_deadline = self._get_time() + \ - self._get_time(self.flush_interval.total_seconds()) + self.flushing_interval_deadline = loop_time + loop_time_flush_interval self.logger.debug('Flush interval deadline. Flushed batch.') try: