All pastes #775509 Raw Edit

Someone

public python v1 · immutable
·published 2007-11-15 16:57 UTC
rendered paste body
    def tasks(self):        """Produce events until stopped"""        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]                now = time()                if now < runtime:                  timeout = runtime - now                else:                  timeout = 0                  try:                      task = queue.get_nowait()                  except Queue.Empty:                      heapq.heappop(self.heap) # remove                      task = None                  else:                      self.add(delay, queue)            if task:              yield task              queue.task_done()            # TODO: тут ещё можно подкорректировать timeout            self.wait(timeout)