diff options
author | Dana Powers <dana.powers@gmail.com> | 2016-07-16 20:20:45 -0700 |
---|---|---|
committer | Dana Powers <dana.powers@gmail.com> | 2016-07-16 20:54:55 -0700 |
commit | ed0bffbcc652ee6c74297aee8a473d13af928562 (patch) | |
tree | fbe10f9d2f5eb3c8c92a1c4c2742f2d88e29d1b5 /kafka/client_async.py | |
parent | 947625bfa4b6462e3f7c0fdad0a0cd69708beb2c (diff) | |
download | kafka-python-config_selector.tar.gz |
Expose selector type as config optionconfig_selector
Diffstat (limited to 'kafka/client_async.py')
-rw-r--r-- | kafka/client_async.py | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/kafka/client_async.py b/kafka/client_async.py index 6fa9434..fb9d9ad 100644 --- a/kafka/client_async.py +++ b/kafka/client_async.py @@ -63,6 +63,7 @@ class KafkaClient(object): 'ssl_crlfile': None, 'api_version': None, 'api_version_auto_timeout_ms': 2000, + 'selector': selectors.DefaultSelector, } API_VERSIONS = [ (0, 10), @@ -134,6 +135,9 @@ class KafkaClient(object): api_version_auto_timeout_ms (int): number of milliseconds to throw a timeout exception from the constructor when checking the broker api version. Only applies if api_version is None + selector (selectors.BaseSelector): Provide a specific selector + implementation to use for I/O multiplexing. + Default: selectors.DefaultSelector """ self.config = copy.copy(self.DEFAULT_CONFIG) for key in self.config: @@ -149,7 +153,7 @@ class KafkaClient(object): self._topics = set() # empty set will fetch all topic metadata self._metadata_refresh_in_progress = False self._last_no_node_available_ms = 0 - self._selector = selectors.DefaultSelector() + self._selector = self.config['selector']() self._conns = {} self._connecting = set() self._refresh_on_disconnects = True |