Decorators to kafka
This module is based on pykafka project (https://github.com/Parsely/pykafka.git) and define a class KafkaDecorator and its 4 decorators
-
@KafkaDecorator.host The first defines the connection parameters and its parameters are the same of pykafka.KafkaClient
-
@KafkaDecorator.balanced_consumer defines a balanced consumer and its parameters are the same of pykafka.topic.get_balanced_consumer function
-
@KafkaDecorator.simple_consumer defines a simple consumer and its parameters are the same of pykafka.topic.get_simple_consumer function
-
@KafkaDecorator.producer defines a producer and its parameters are the same of pykafka.topic.get_producer function
Install
pip install kafka-client-decorators
Example
from kafka_client_decorators import KafkaDecorator
kc = KafkaDecorator( )
#@kc.host(zookeeper_hosts='localhost:2181' )
@kc.host(hosts='localhost:9092' )
class A:
def __init__(self, testA, cls):
self.a = testA
self.cls = cls
pass
@kc.balanced_consumer('test1', consumer_group='testgroup3', auto_commit_enable=True, managed=True, consumer_timeout_ms=1000)
def get(self, msg):
print ( f'{self.a} Receive offset {msg.offset} key {msg.partition_key} message: { msg.value }' )
self.send( msg.value )
@kc.simple_consumer('test2', consumer_group='testgroup4', auto_commit_enable=True, consumer_timeout_ms=1000)
def get2(self, msg):
print ( f'{self.a} Receive offset {msg.offset}, message: { msg.value }' )
self.cls.stop(self)
@kc.producer('test2')
def send(self, msg):
pass
@kc.producer('test1')
def sendKey(self, msg, key ):
pass
class B:
def __init__(self):
pass
def stop(self, conn):
conn.stop()
a = A('Example', B())
a.start()
a.sendKey( 'Hello'.encode('utf-8'), partition_key='world'.encode('utf-8') )
a.wait()
Metadata
Release files for kafka-client-decorators 0.9.11
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| kafka_client_decorators-0.9.11.tar.gz | 11.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| kafka_client_decorators-0.9.11-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 30.5 kB
Release files / kafka_client_decorators-0.9.11.tar.gz
| Download URL | kafka_client_decorators-0.9.11.tar.gz |
|---|---|
| Size | 11.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
6397199e1b9d251d2ec6fb60ac812c8b3fc5690073871076dbcdfd43c1cc5493
|
|
BLAKE2b-256 checksum How to use checksums |
18c209d9e6125b3c16d01706537e6a0bb8ab1316955c540e2dba24c6100e0eee
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.7.5
|
Release files / kafka_client_decorators-0.9.11-py3-none-any.whl
| Download URL | kafka_client_decorators-0.9.11-py3-none-any.whl |
|---|---|
| Size | 19.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
7f38dc84ac8accff79773a196e16ab7bca58f97634bb196c2411665024caca6a
|
|
BLAKE2b-256 checksum How to use checksums |
f34b45df35130b8398b8e36ca61a5066598cc5568dede13e0bfbcb2988a5e806
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.7.5
|