Skip to main content

Coordinated Producer Consumer for MQTT

Project description

## MQTT Coordinated consumer.

Kafka Motivated Coordinated Consumer for MQTT

pip install mqtt-coordinated

## MQTT Consumer CoordinatorManager

CoordinatorManager class is manager class for mqtt consumer. It lets you connect to a MQTT server and subscribe to multiple topics. It gives you on_message callback for actions after receiving new message.

` >>> from mqtt import CoordinatorManager >>> >>> manager = CoordinatorManager('my-manager', 'iot.eclipse.org') >>> manager.start() >>> >>> consumer = manager.coordinated_consumer >>> consumer.on_message = on_message  # Pass callback name here. >>> consumer.subscribe("house/bulb") >>> consumer.poll(100)    # Batch message reading construct for streaming purpose `

` # Disconnect and stop consuming >>> consumer.disconnect() >>> manager.stop() `

There are 2 methods for consuming events, - registering for on_message - Reading messages in batches. Batches are internally stored in memory, and not stored on persistent disc for now.

## MQTT Producer CoordinatedProducer

CoordinatedProducer class is MQTT producer which will create number of partitions on MQTT topic. you can pass partition number or partition_key to this producer. Messages with same partition_key are garuanteed to be produced on same partition.

` >>> from mqtt import CoordinatedProducer >>> producer = CoordinatedProducer('iot.eclipse.org') >>> producer.publish_on_partition("house/bulb", "on") # Message will be published on random partition >>> producer.publish_on_partition("house/bulb", "on", partition=5) # Message will be published on 5th partition >>> producer.publish_on_partition("house/bulb", "on", partition_key='message_key') # All messages with partition_key will be published on same partition. `

Project details


Download files

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

Files for mqtt-coordinated, version 0.0.2
Filename, size File type Python version Upload date Hashes
Filename, size mqtt_coordinated-0.0.2-py3-none-any.whl (6.2 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size mqtt_coordinated-0.0.2.tar.gz (5.0 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page