All pastes #775813 Raw Edit

Someone

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