Ejemplo n.º 1
0
 def run(self):
     while not Thread.aborted():
         sleep(self.INTERVAL)
         try:
             reply = protocol.Ping(self.pid)
             reply.send(self.pipe)
         except PipeBroken:
             sys.exit(1)
Ejemplo n.º 2
0
 def run(self):
     while not Thread.aborted():
         sleep(self.INTERVAL)
         try:
             reply = protocol.Ping(self.pid)
             reply.send(self.pipe)
         except PipeBroken:
             sys.exit(1)
Ejemplo n.º 3
0
 def _drain(self):
     """
     Drain the queue.
     """
     self.is_open = False
     while not Thread.aborted():
         try:
             request = self.queue.get(timeout=1)
             self.commit(request.sn)
         except Empty:
             break
Ejemplo n.º 4
0
 def _drain(self):
     """
     Drain the queue.
     """
     self.is_open = False
     while not Thread.aborted():
         try:
             request = self.queue.get(timeout=1)
             self.commit(request.sn)
         except Empty:
             break
Ejemplo n.º 5
0
 def get(self):
     """
     Get the next pending request to be dispatched.
     Blocks until a request is available.
     :return: The next pending request.
     :rtype: Document
     """
     while not Thread.aborted():
         try:
             return self.queue.get(timeout=10)
         except Empty:
             pass
Ejemplo n.º 6
0
 def get(self):
     """
     Get the next pending request to be dispatched.
     Blocks until a request is available.
     :return: The next pending request.
     :rtype: Document
     """
     while not Thread.aborted():
         try:
             return self.queue.get(timeout=10)
         except Empty:
             pass
Ejemplo n.º 7
0
 def _fn(reader, timeout=None):
     delay = DELAY
     timer = float(timeout or 0)
     while not Thread.aborted():
         message = fn(reader, timer)
         if message:
             return message
         if timer > 0:
             sleep(delay)
             timer -= delay
             if delay < MAX_DELAY:
                 delay *= DELAY_MULTIPLIER
         else:
             break
Ejemplo n.º 8
0
 def _fn(reader, timeout=None):
     delay = DELAY
     timer = float(timeout or 0)
     while not Thread.aborted():
         message = fn(reader, timer)
         if message:
             return message
         if timer > 0:
             sleep(delay)
             timer -= delay
             if delay < MAX_DELAY:
                 delay *= DELAY_MULTIPLIER
         else:
             break
Ejemplo n.º 9
0
 def _fn(messenger, *args, **kwargs):
     repair = lambda: None
     while not Thread.aborted():
         try:
             repair()
             return fn(messenger, *args, **kwargs)
         except ChannelError, e:
             if e.code != 404:
                 sleep(DELAY)
                 repair = messenger.repair
             else:
                 raise NotFound(*e.args)
         except CONNECTION_EXCEPTIONS:
             sleep(DELAY)
             repair = messenger.repair
Ejemplo n.º 10
0
 def _fn(messenger, *args, **kwargs):
     repair = lambda: None
     while not Thread.aborted():
         try:
             repair()
             return fn(messenger, *args, **kwargs)
         except ChannelError, e:
             if e.code != 404:
                 sleep(DELAY)
                 repair = messenger.repair
             else:
                 raise NotFound(*e.args)
         except CONNECTION_EXCEPTIONS:
             sleep(DELAY)
             repair = messenger.repair
Ejemplo n.º 11
0
 def _fn(messenger, *args, **kwargs):
     repair = lambda: None
     while not Thread.aborted():
         try:
             repair()
             return fn(messenger, *args, **kwargs)
         except LinkDetached, le:
             if le.condition != NOT_FOUND:
                 sleep(DELAY)
                 repair = messenger.repair
             else:
                 raise NotFound(*le.args)
         except ConnectionException:
             sleep(DELAY)
             repair = messenger.repair
Ejemplo n.º 12
0
 def _fn(messenger, *args, **kwargs):
     repair = lambda: None
     while not Thread.aborted():
         try:
             repair()
             return fn(messenger, *args, **kwargs)
         except LinkDetached, le:
             if le.condition != NOT_FOUND:
                 sleep(DELAY)
                 repair = messenger.repair
             else:
                 raise NotFound(*le.args)
         except ConnectionException:
             sleep(DELAY)
             repair = messenger.repair
Ejemplo n.º 13
0
 def inner(connection):
     if connection.retry:
         retries = RETRIES
     else:
         retries = 0
     delay = DELAY
     url = connection.url
     while not Thread.aborted():
         try:
             log.info('connecting: %s', url)
             impl = fn(connection)
             log.info('connected: %s', url)
             return impl
         except exception, e:
             log.error('connect: %s, failed: %s', url, e)
             if retries > 0:
                 log.info('retry in %d seconds', delay)
                 sleep(delay)
                 if delay < MAX_DELAY:
                     delay *= DELAY_MULTIPLIER
                 retries -= 1
             else:
                 raise
Ejemplo n.º 14
0
 def inner(connection):
     if connection.retry:
         retries = RETRIES
     else:
         retries = 0
     delay = DELAY
     url = connection.url
     while not Thread.aborted():
         try:
             log.info('connecting: %s', url)
             impl = fn(connection)
             log.info('connected: %s', url)
             return impl
         except exception, e:
             log.error('connect: %s, failed: %s', url, e)
             if retries > 0:
                 log.info('retry in %d seconds', delay)
                 sleep(delay)
                 if delay < MAX_DELAY:
                     delay *= DELAY_MULTIPLIER
                 retries -= 1
             else:
                 raise