def run(self): ckitcore.setBlockDetector() while True: if self.cancel_requested : break self.lock.acquire() try: for item in self.items: if self.cancel_requested : break now = time.time() delta = now - item.last if delta > item.interval: try: item.func(item) except: traceback.print_exc() item.last = time.time() finally: self.lock.release() time.sleep(0.1)
def run(self): ckitcore.setBlockDetector() while True: self.sema.acquire() if self.cancel_requested : break while self.pause_requested and not self.cancel_requested: self.pause_waiting = True time.sleep(0.1) self.pause_waiting = False item = self.items[0] try: if item.subthread_func : item.subthread_func( item ) except: traceback.print_exc() item.status = JOB_STATUS_FINISHED