def __init__(self, clock, cluster_nodes): self.clock = clock self.cluster_nodes = [] for cluster_node in cluster_nodes: if not cluster_node.startswith('http://'): cluster_node = 'http://%s' % (cluster_node,) self.cluster_nodes.append((cluster_node, requests.Session())) random.shuffle(self.cluster_nodes) self.breaker = CircuitBreakerSet(clock.time, logging.getLogger( 'service-discovery-client')) self.breaker.handle_error(RequestException) self.breaker.handle_error(ConnectionError) self.breaker.handle_error(TooManyRedirects)
def __init__(self, clock, cluster_nodes=None): self.clock = clock self.cluster_nodes = [] if cluster_nodes is None: cluster_nodes = os.getenv( 'GILLIAM_SERVICE_REGISTRY', '').split(',') for cluster_node in cluster_nodes: if not cluster_node.startswith('http://'): cluster_node = 'http://%s' % (cluster_node,) self.cluster_nodes.append((cluster_node, requests.Session())) random.shuffle(self.cluster_nodes) self.breaker = CircuitBreakerSet(clock.time, logging.getLogger( 'service-discovery-client')) self.breaker.handle_error(RequestException) self.breaker.handle_error(ConnectionError) self.breaker.handle_error(TooManyRedirects) # backward compatible self.resolve = Resolver(self).resolve_url