Skip to main content

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: A dict containing Kafka config Note config must have bootstrap.servers and group.id entries
  • start(): Generator methods. initiates polling. returns a generator
  • close(): Closes the consumer
  • send_reply(topic=None, message=None, key=None): Invokes a producer and uses it to send a reply to the desired topic. Especially helpful for the Saga Orchestrator Pattern 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

Release files for busie-consumer 1.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for busie-consumer 1.0.0
File Size Uploaded
busie-consumer-1.0.0.tar.gz 3.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for busie-consumer 1.0.0
File Interpreter ABI Platform
busie_consumer-1.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 8.5 kB

Release files / busie-consumer-1.0.0.tar.gz

Download URL busie-consumer-1.0.0.tar.gz
Size 3.6 kB
Tags Source
SHA-256 checksum
How to use checksums
e3b4741c7cb9ecff3a8558c162cf3d4214303bdce5feb3d3f9e6905f2e336c5d
BLAKE2b-256 checksum
How to use checksums
5d8f924422a646be7a545f6eeac0e01231ee0333291a40b26bcac5b61da3c0e8
Upload date
Uploaded using Trusted Publishing?
What is 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

Release files / busie_consumer-1.0.0-py3-none-any.whl

Download URL busie_consumer-1.0.0-py3-none-any.whl
Size 4.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
0e5e2bda1e7563cc6badbc5e1a23acf5010a209cc3fc49fc8dd94012f1040512
BLAKE2b-256 checksum
How to use checksums
608f03c8c0952721a1f831e96910f56e5272ffd3d1ec8d9166c40baf70bb2cb6
Upload date
Uploaded using Trusted Publishing?
What is 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

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page