class_docstr: Scheduling of periodic events
  
  Up to self._interval, schedule actions per second, above schedule events
  in self._interval second gaps.
class_docstr_tok: ["Scheduling","of","periodic","events","Up","to","self._interval",",","schedule","actions","per","second",",","above","schedule","events","in","self._interval","second","gaps","."]
docstr: Start the intervalic timer
docstr_tok: ["Start","the","intervalic","timer"]
code: def start(self):
      """Start the intervalic timer"""
      self.work()
      self._times_called += 1
      self._stopped = False
      if self._times_called > self._interval:
          self._timer = DaemonTimer(self._interval, self._action)
      else:
          self._timer = DaemonTimer(
              BENCHMARK_INTERVAL_SHORT, self._action
          )
      self._timer.start()
  
imports: import contextlib
  import datetime
  from itertools import chain
  import os
  import time
  import threading
  from snakemake.logging import logger
label_desc: Use image node_id 2 for calling the ScheduledPeriodicTimer obj's underlying member method code with example usage: obj.start() without return types