Exemplo n.º 1
0
 def _run_next_task(self):
     delay = sys.maxsize
     for prio in sorted(self._queues.keys(), reverse=True):
         prio_queue = self._queues[prio]
         if not prio_queue:
             del(self._queues[prio])
             continue
         for hostkey in sorted(prio_queue.keys(),
                               key=ratecontrol.current_delay):
             queue = self._queues[prio][hostkey]
             if not queue:
                 del(self._queues[prio][hostkey])
                 continue
             wait, d = ratecontrol.get_delay_to_next_request(hostkey)
             if not wait:
                 queue.popleft()()
             if d < delay:
                 delay = d
     if delay < sys.maxsize:
         self._timer_run_next_task.start(delay)
Exemplo n.º 2
0
 def _run_next_task(self):
     delay = sys.maxsize
     for prio in sorted(self._queues.keys(), reverse=True):
         prio_queue = self._queues[prio]
         if not prio_queue:
             del(self._queues[prio])
             continue
         for hostkey in sorted(prio_queue.keys(),
                               key=ratecontrol.current_delay):
             queue = self._queues[prio][hostkey]
             if not queue:
                 del(self._queues[prio][hostkey])
                 continue
             wait, d = ratecontrol.get_delay_to_next_request(hostkey)
             if not wait:
                 queue.popleft()()
             if d < delay:
                 delay = d
     if delay < sys.maxsize:
         self._timer_run_next_task.start(delay)