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.2.tar.gz (5.3 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.2-py3-none-any.whl (7.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: velikafkaclient-1.0.2.tar.gz
  • Upload date:
  • Size: 5.3 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.2.tar.gz
Algorithm Hash digest
SHA256 6a96f0d6200545b023e9fa29dea5d9f19e9cbd851ccaa157192fcef5796cf792
MD5 2caffc3c9857da3d85b4854b4edcde8e
BLAKE2b-256 dd2833a097fcd208b9b2b9dacdc86d4d9be54cb73d8683e94a57d6d4f55814c1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for velikafkaclient-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 543117afee4e321f6c4bb68c6b1ec2347fd39984534d88eb085e98cb60f96f06
MD5 5d0b228f718813473a8fc285eb319531
BLAKE2b-256 13d31d975785096da63bb80512979852b509392443a6825a79887499eabb0da5

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