Skip to content

Commit 793bb38

Browse files
author
Dana Powers
committed
Add KafkaProducer to autodocs and README
1 parent b50d66a commit 793bb38

File tree

2 files changed

+30
-2
lines changed

2 files changed

+30
-2
lines changed

README.rst

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,34 @@ for examples.
5050
KafkaProducer
5151
*************
5252

53-
<`in progress - see SimpleProducer for legacy producer implementation`>
53+
KafkaProducer is a high-level, asynchronous message producer. The class is
54+
intended to operate as similarly as possible to the official java client.
55+
See `ReadTheDocs <http://kafka-python.readthedocs.org/en/master/apidoc/KafkaProducer.html>`_
56+
for more details.
57+
58+
>>> from kafka import KafkaProducer
59+
>>> producer = KafkaProducer(bootstrap_servers='localhost:1234')
60+
>>> producer.send('foobar', b'some_message_bytes')
61+
62+
>>> # Blocking send
63+
>>> producer.send('foobar', b'another_message').get(timeout=60)
64+
65+
>>> # Use a key for hashed-partitioning
66+
>>> producer.send('foobar', key=b'foo', value=b'bar')
67+
68+
>>> # Serialize json messages
69+
>>> import json
70+
>>> producer = KafkaProducer(value_serializer=json.loads)
71+
>>> producer.send('fizzbuzz', {'foo': 'bar'})
72+
73+
>>> # Serialize string keys
74+
>>> producer = KafkaProducer(key_serializer=str.encode)
75+
>>> producer.send('flipflap', key='ping', value=b'1234')
76+
77+
>>> # Compress messages
78+
>>> producer = KafkaProducer(compression_type='gzip')
79+
>>> for i in range(1000):
80+
... producer.send('foobar', b'msg %d' % i)
5481

5582

5683
Protocol

docs/apidoc/KafkaProducer.rst

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
KafkaProducer
22
=============
33

4-
<unreleased> See :class:`kafka.producer.SimpleProducer`
4+
.. autoclass:: kafka.KafkaProducer
5+
:members:

0 commit comments

Comments
 (0)