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.15.tar.gz (5.1 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.15-py3-none-any.whl (6.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: kafkaclientveli-1.0.15.tar.gz
  • Upload date:
  • Size: 5.1 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.15.tar.gz
Algorithm Hash digest
SHA256 ef34b79648efd633f11a1604899c67eba90276785ad26c9d51f221e48a8f8817
MD5 8097f13e6713d2db322c6fe027724a9a
BLAKE2b-256 9b65514d52f8ec364feb054f6e85179c73a13494eb5947a5c06fcebf4c674a22

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kafkaclientveli-1.0.15-py3-none-any.whl
Algorithm Hash digest
SHA256 1f5856a07b324894bc38bd180c9d4428981cad87369e4e62a58455c6a10770c9
MD5 34eea619e7cd9a99ab42201546335df2
BLAKE2b-256 143a82e72f5dcd4955a2d4d2956a6873a6d8502b4aefe2b81244a9a30e45fceb

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