コード例 #1
0
 def _connect_scheduler(cls, uri, clock=time):
     transport = TRequestsTransport(uri)
     protocol = TJSONProtocol.TJSONProtocol(transport)
     schedulerClient = AuroraAdmin.Client(protocol)
     for _ in range(cls.THRIFT_RETRIES):
         try:
             transport.open()
             return schedulerClient
         except TTransport.TTransportException:
             clock.sleep(cls.RETRY_TIMEOUT.as_(Time.SECONDS))
             continue
         except Exception as e:
             # Monkey-patched proxies, like socks, can generate a proxy error here.
             # without adding a dependency, we can't catch those in a more specific way.
             raise cls.CouldNotConnect(
                 'Connection to scheduler failed: %s' % e)
     raise cls.CouldNotConnect('Could not connect to %s' % uri)
コード例 #2
0
  def _connect_scheduler(self, uri, clock=time):
    transport = TRequestsTransport(
        uri,
        auth=self._auth_handler.auth(),
        user_agent=self._user_agent,
        session_factory=functools.partial(
            _bypass_leader_redirect_session_factory,
            should_bypass=self._bypass_leader_redirect))

    protocol = TBinaryProtocol.TBinaryProtocolAccelerated(transport)
    schedulerClient = AuroraAdmin.Client(protocol)
    for _ in range(self.THRIFT_RETRIES):
      try:
        transport.open()
        return schedulerClient
      except TTransport.TTransportException:
        clock.sleep(self.RETRY_TIMEOUT.as_(Time.SECONDS))
        continue
      except Exception as e:
        # Monkey-patched proxies, like socks, can generate a proxy error here.
        # without adding a dependency, we can't catch those in a more specific way.
        raise self.CouldNotConnect('Connection to scheduler failed: %s' % e)
    raise self.CouldNotConnect('Could not connect to %s' % uri)