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)
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)