diff options
author | Dana Powers <dana.powers@gmail.com> | 2017-03-07 11:33:23 -0800 |
---|---|---|
committer | Dana Powers <dana.powers@gmail.com> | 2017-03-07 12:24:55 -0800 |
commit | a4338169d4e87536ed2e81ce41d9276e2f3d73a9 (patch) | |
tree | 3f1fe0314af2985268d1ad4e26d4a4b3375057b8 | |
parent | 1810816b00770c9aaf0e3175fe3d73d3ed19f81d (diff) | |
download | kafka-python-a4338169d4e87536ed2e81ce41d9276e2f3d73a9.tar.gz |
Add ClusterMetadata documentation
-rw-r--r-- | docs/apidoc/ClusterMetadata.rst | 5 | ||||
-rw-r--r-- | docs/apidoc/kafka.rst | 10 | ||||
-rw-r--r-- | docs/apidoc/modules.rst | 1 | ||||
-rw-r--r-- | kafka/client_async.py | 4 | ||||
-rw-r--r-- | kafka/cluster.py | 14 |
5 files changed, 34 insertions, 0 deletions
diff --git a/docs/apidoc/ClusterMetadata.rst b/docs/apidoc/ClusterMetadata.rst new file mode 100644 index 0000000..4b575b3 --- /dev/null +++ b/docs/apidoc/ClusterMetadata.rst @@ -0,0 +1,5 @@ +ClusterMetadata +=========== + +.. autoclass:: kafka.cluster.ClusterMetadata + :members: diff --git a/docs/apidoc/kafka.rst b/docs/apidoc/kafka.rst index eb04c35..a29e063 100644 --- a/docs/apidoc/kafka.rst +++ b/docs/apidoc/kafka.rst @@ -6,6 +6,7 @@ Subpackages .. toctree:: + kafka.cluster kafka.consumer kafka.partitioner kafka.producer @@ -13,6 +14,15 @@ Subpackages Submodules ---------- +kafka.cluster module +-------------------- + +.. automodule:: kafka.cluster + :members: + :undoc-members: + :show-inheritance: + + kafka.client module ------------------- diff --git a/docs/apidoc/modules.rst b/docs/apidoc/modules.rst index c1c3335..9477887 100644 --- a/docs/apidoc/modules.rst +++ b/docs/apidoc/modules.rst @@ -7,3 +7,4 @@ kafka-python API KafkaProducer KafkaClient BrokerConnection + ClusterMetadata diff --git a/kafka/client_async.py b/kafka/client_async.py index 9e30e09..5824e7a 100644 --- a/kafka/client_async.py +++ b/kafka/client_async.py @@ -48,6 +48,10 @@ class KafkaClient(object): This class is not thread-safe! + Attributes: + cluster (:any:`ClusterMetadata`): Local cache of cluster metadata, retrived + via MetadataRequests during :meth:`.poll`. + Keyword Arguments: bootstrap_servers: 'host[:port]' string (or list of 'host[:port]' strings) that the consumer should contact to bootstrap initial diff --git a/kafka/cluster.py b/kafka/cluster.py index 0a5c07f..d646fdf 100644 --- a/kafka/cluster.py +++ b/kafka/cluster.py @@ -16,6 +16,20 @@ log = logging.getLogger(__name__) class ClusterMetadata(object): + """ + A class to manage kafka cluster metadata. + + This class does not perform any IO. It simply updates internal state + given API responses (MetadataResponse, GroupCoordinatorResponse). + + Keyword Arguments: + retry_backoff_ms (int): Milliseconds to backoff when retrying on + errors. Default: 100. + metadata_max_age_ms (int): The period of time in milliseconds after + which we force a refresh of metadata even if we haven't seen any + partition leadership changes to proactively discover any new + brokers or partitions. Default: 300000 + """ DEFAULT_CONFIG = { 'retry_backoff_ms': 100, 'metadata_max_age_ms': 300000, |