def start(self):
    if self.frequency > 0:
      threadname = "Monitor:%s" % self.__class__.__name__
      if self.thread is None:
        self.thread = PerpetualTimer(self.frequency, self.callback, self.setup_callback)
        self.thread.setName(threadname)
        self.thread.start()
        log.debug("Started thread %r", threadname)
      else:
        log.debug("Thread %r already started", threadname)
Start our callback in its own perpetual timer thread.
dataset/ETHPy150Open rsms/smisk/lib/smisk/util/threads.py/Monitor.start