예제 #1
0
    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)
예제 #2
0
    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