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

velikafkaclient-1.0.1.tar.gz (5.0 kB view details)

Uploaded Source

Built Distribution

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

velikafkaclient-1.0.1-py3-none-any.whl (6.9 kB view details)

Uploaded Python 3

File details

Details for the file velikafkaclient-1.0.1.tar.gz.

File metadata

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

File hashes

Hashes for velikafkaclient-1.0.1.tar.gz
Algorithm Hash digest
SHA256 dfc2a6d292bfa85207e7cc1552fb94158b51423e1e32e21168473392a13de237
MD5 0dc90fc919de52daea793527605ebc70
BLAKE2b-256 3f4d4e161c7070b2f8bf94ca07c79596a7d5ddef6643bd9aa9fc13b64e18bb9e

See more details on using hashes here.

File details

Details for the file velikafkaclient-1.0.1-py3-none-any.whl.

File metadata

File hashes

Hashes for velikafkaclient-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 c5c697bb6436ed4475f8a3fdbdc6f88b638dbffa415151b4c25c53c1de677ead
MD5 488f8d7f4a8da69ec283e1d2ba6764e2
BLAKE2b-256 990460f5636eddbe871edd7ea6615e61447d798fd8485ef7c50146fee0529472

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