Skip to main content

Veli Kafka Client

Project description

Kafka Client for VELI.STORE

Description

This module helps you to integration kafka messaging into your apps. Supported frameworks: FastAPI, (Django coming soon :D)

How to use (FastAPI):

  • Producer
app = FastAPI()


def produce_event(topic, event):
    producer = app.state.producer
    producer.produce_event(topic, event)


@app.on_event("startup")
async def startup_event():
    bootstrap_servers = ['localhost:9092', 'localhost:9093']
    producer = KafkaEventProducer(bootstrap_servers)
    await producer.start()
    app.state.producer = producer

@app.on_event("shutdown")
async def shutdown_event():
    await app.state.producer.stop()

@app.post("/products")
async def save_product(product_info: ProductInfo):
    product = save_product(product_info)
    produce_event(KafkaTopic.PAGE_VIEWS, product)
    return product
  • Consumer
app = FastAPI()


@app.on_event("startup")
async def startup_event():
    # Define the configuration variables
    topics = [KafkaTopic.USER_REGISTRATIONS, KafkaTopic.PAGE_VIEWS]
    bootstrap_servers = ['localhost:9092', 'localhost:9093']
    group_id = 'app_id'

    consumer = AsyncKafkaConsumer(topics, bootstrap_servers, group_id)
    app.state.consumer = consumer
    await consumer.start()
    # start the consume_events coroutine in the background
    asyncio.create_task(consumer.consume())


@app.on_event("shutdown")
async def shutdown_event():
    await app.state.consumer.stop()

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

kafkaclientveli-1.0.11.tar.gz (4.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

kafkaclientveli-1.0.11-py3-none-any.whl (6.9 kB view details)

Uploaded Python 3

File details

Details for the file kafkaclientveli-1.0.11.tar.gz.

File metadata

  • Download URL: kafkaclientveli-1.0.11.tar.gz
  • Upload date:
  • Size: 4.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.6

File hashes

Hashes for kafkaclientveli-1.0.11.tar.gz
Algorithm Hash digest
SHA256 97be02ec533a33c31708b72838d2703fb00f084d01b02662ee9d3467057ce56d
MD5 85bfc08841bfb18daa72830e6104562c
BLAKE2b-256 d67067cab22cfec87126ae175cc30df2733acdf8304172897c0ef53f1d3bd667

See more details on using hashes here.

File details

Details for the file kafkaclientveli-1.0.11-py3-none-any.whl.

File metadata

File hashes

Hashes for kafkaclientveli-1.0.11-py3-none-any.whl
Algorithm Hash digest
SHA256 72bd3a0aef93c2180b942525e191a44ecb5606b2acc39a2e9245a96dfa259a86
MD5 411d0a84f8e37ad6ae11b0f29a49e1da
BLAKE2b-256 544ecd1a9f36c31be591e14180fe91511eefe12f7ee0faf58f1d536765f2d2f0

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page