All pastes #775710 Raw Edit

Anonymous

public python v1 · immutable
·published 2007-11-15 18:25 UTC
rendered paste body
    def tasks2(self):        self.running = True        while self.running:            self.update_event.clear()            if not len(self.heap):                self.update_event.wait()            timeout = 0            task = None            with self.heap_lock:                runtime, delay, queue = self.heap[0]                if runtime > time():                    timeout = runtime - time()                else :                    heappop(self.heap)                    try :                        task = queue.get_nowait()                    except Queue.Empty:                        pass                    else :                        queue.task_done()                        heappush(self.heap, (time() + delay, delay, queue))            if task:                yield task            self.update_event.wait(timeout)