X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=o2ims%2Fservice%2Fwatcher%2Fworker.py;h=9b87ebe97d4eb0a24a1d2e1b3f76ef5ffcc8abe7;hb=38646c684a13536146ecf16a35e6e33d614b29e9;hp=a348074c2a6af2e031fa20ddc5eca01026b313a0;hpb=bff814cb30e501eb1e54aecb8110a78d41e7bdb0;p=pti%2Fo2.git diff --git a/o2ims/service/watcher/worker.py b/o2ims/service/watcher/worker.py index a348074..9b87ebe 100644 --- a/o2ims/service/watcher/worker.py +++ b/o2ims/service/watcher/worker.py @@ -14,7 +14,7 @@ import time import sched -from o2ims.service.watcher.base import BaseWatcher +from o2ims.service.watcher.base import WatcherTree import logging logger = logging.getLogger(__name__) @@ -23,7 +23,7 @@ logger = logging.getLogger(__name__) class PollWorker(object): def __init__(self, interval=10) -> None: super().__init__() - self.watchers = {} + self.watchers = [] self.schedinstance = sched.scheduler(time.time, time.sleep) self.schedinterval = interval self._stopped = True @@ -34,19 +34,19 @@ class PollWorker(object): else: raise Exception("Invalid interval:" + interval) - def add_watcher(self, watcher: BaseWatcher): - self.watchers[watcher.targetname()] = watcher + def add_watcher(self, watcher: WatcherTree): + self.watchers.append(watcher) def _repeat(self): logger.debug("_repeat started") if self._stopped: return - for w in self.watchers.keys(): + for w in self.watchers: try: - logger.debug("about to probe:"+w) - self.watchers[w].probe() + # logger.debug("about to probe:"+w) + w.probe(None) except Exception as ex: - logger.warning(ex.message) + logger.warning("Worker raises exception:" + str(ex)) continue self.schedinstance.enter(self.schedinterval, 1, self._repeat) @@ -59,6 +59,3 @@ class PollWorker(object): def stop(self): self._stopped = True - - -defaultworker = PollWorker()