class_docstr: A variant of threading.The timer that is daemonized
class_docstr_tok: ["A","variant","of","threading.The","timer","that","is","daemonized"]
code: def run(self):
      self.finished.wait(self.interval)
      if not self.finished.is_set():
          self.function(*self.args, **self.kwargs)
      self.finished.set()
  
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 3 for calling the DaemonTimer obj's underlying member method code with example usage: obj.run() without return types