Skip to content

Commit 81825d6

Browse files
committed
INDY-2215: add an interval validation for the RepeatingTimer
Signed-off-by: toktar <[email protected]>
1 parent fe5e952 commit 81825d6

File tree

1 file changed

+8
-2
lines changed

1 file changed

+8
-2
lines changed

plenum/common/timer.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
from abc import ABC, abstractmethod
22
from functools import wraps
3+
from logging import getLogger
34
from typing import Callable, NamedTuple
45

56
import time
@@ -64,14 +65,16 @@ def wrapped_callback():
6465
self._timer.schedule(self._interval, self._callback)
6566

6667
self._timer = timer
67-
self._interval = interval
68+
self._interval = None
69+
self.update_interval(interval)
6870
self._callback = wrapped_callback
6971
self._active = False
72+
self._logger = getLogger()
7073
if active:
7174
self.start()
7275

7376
def start(self):
74-
if self._active:
77+
if self._active or not self._interval:
7578
return
7679
self._active = True
7780
self._timer.schedule(self._interval, self._callback)
@@ -83,4 +86,7 @@ def stop(self):
8386
self._timer.cancel(self._callback)
8487

8588
def update_interval(self, interval):
89+
if interval <= 0:
90+
self._logger.debug("RepeatingTimer - incorrect interval {}".format(interval))
91+
return
8692
self._interval = interval

0 commit comments

Comments
 (0)