Base Kafka Consumer for Busie Projects
Project description
Busie Consumer
A base consumer package for Busie projects. Abstracts polling and configuration setup away from the end user and exposes basic api for starting the poll process.
Installation
pip install busie-consumer
Usage
from busie_consumer import BaseConsumer
CONFIG = {
'bootstrap.servers': 'localhost:9092',
# Other Config as necessary
}
consumer = BaseConsumer(topics=['some-topic', 'another'], config=CONFIG)
for message in consumer.start():
handle_message(message)
# It may also be helpful to extend this base class and provide helper methods
class HigherLevelConsumer(Consumer):
def handle_message(self, message):
# process the message
reply_topic, reply = determine_reply(message)
self.send_reply(topic=reply_topic, message=reply, key=message.key())
consumer = HigherLevelConsumer(topics=['topic'], config=CONFIG)
for msg in consumer.start():
consumer.handle_message(msg)
API
BaseConsumer
Public Methods
BaseConsumer(topics=None, config=None): Constructor- required param
topics: An iterable of strings containing topic names - required param
config: Adictcontaining Kafka config Noteconfigmust havebootstrap.serversandgroup.identries
- required param
start(): Generator methods. initiates polling. returns a generatorclose(): Closes the consumersend_reply(topic=None, message=None, key=None): Invokes a producer and uses it to send a reply to the desired topic. Especially helpful for theSaga OrchestratorPattern Note The producer assumes the same config as the consumer class- required param
topic: A string representing the desired topic name - required param
message: The data to send to the desired topic. - required param
key: The desired key for the message
- required param
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
busie-consumer-1.0.0.tar.gz
(3.6 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file busie-consumer-1.0.0.tar.gz.
File metadata
- Download URL: busie-consumer-1.0.0.tar.gz
- Upload date:
- Size: 3.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.12.1 pkginfo/1.6.0 requests/2.24.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.50.2 CPython/3.7.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e3b4741c7cb9ecff3a8558c162cf3d4214303bdce5feb3d3f9e6905f2e336c5d
|
|
| MD5 |
e69ac253fdc40a2049c345253cebf7de
|
|
| BLAKE2b-256 |
5d8f924422a646be7a545f6eeac0e01231ee0333291a40b26bcac5b61da3c0e8
|
File details
Details for the file busie_consumer-1.0.0-py3-none-any.whl.
File metadata
- Download URL: busie_consumer-1.0.0-py3-none-any.whl
- Upload date:
- Size: 4.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.12.1 pkginfo/1.6.0 requests/2.24.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.50.2 CPython/3.7.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0e5e2bda1e7563cc6badbc5e1a23acf5010a209cc3fc49fc8dd94012f1040512
|
|
| MD5 |
92b3f54b1d3601b2a2bcdb3d72679033
|
|
| BLAKE2b-256 |
608f03c8c0952721a1f831e96910f56e5272ffd3d1ec8d9166c40baf70bb2cb6
|