\r
import time\r
import sched\r
-from o2ims.service.watcher.base import BaseWatcher\r
+from o2ims.service.watcher.base import WatcherTree\r
\r
import logging\r
logger = logging.getLogger(__name__)\r
class PollWorker(object):\r
def __init__(self, interval=10) -> None:\r
super().__init__()\r
- self.watchers = {}\r
+ self.watchers = []\r
self.schedinstance = sched.scheduler(time.time, time.sleep)\r
self.schedinterval = interval\r
self._stopped = True\r
else:\r
raise Exception("Invalid interval:" + interval)\r
\r
- def add_watcher(self, watcher: BaseWatcher):\r
- self.watchers[watcher.targetname()] = watcher\r
+ def add_watcher(self, watcher: WatcherTree):\r
+ self.watchers.append(watcher)\r
\r
def _repeat(self):\r
logger.debug("_repeat started")\r
if self._stopped:\r
return\r
- for w in self.watchers.keys():\r
+ for w in self.watchers:\r
try:\r
- logger.debug("about to probe:"+w)\r
- self.watchers[w].probe()\r
+ # logger.debug("about to probe:"+w)\r
+ w.probe(None)\r
except Exception as ex:\r
- logger.warning("Worker:" + w + " raises exception:" + str(ex))\r
+ logger.warning("Worker raises exception:" + str(ex))\r
continue\r
self.schedinstance.enter(self.schedinterval, 1, self._repeat)\r
\r