Apache RocketMQ python client

Clone this repo:
  1. f01c884 fix(doc): update notice and open statistic label (#83) by dinglei · 2 weeks ago master
  2. 3fb373d doc(readme): update prerequisites install. by dinglei · 5 weeks ago
  3. a3f132b feat(version): update version to next release. by ShannonDing · 5 weeks ago
  4. 6bf0e60 feat(version): update version to next release. by ShannonDing · 5 weeks ago
  5. 62f9048 feat(version): update version to 2.0.0 to release by ShannonDing · 5 weeks ago v2.0.0

rocketmq-client-python

License Build Status codecov PyPI GitHub release Average time to resolve an issue Percentage of issues still open Twitter Follow

RocketMQ Python client, based on rocketmq-client-cpp, supports Linux and macOS

Prerequisites

Install librocketmq

rocketmq-client-python is a lightweight wrapper around rocketmq-client-cpp, so you need install librocketmq first.

include file

git clone https://github.com/apache/rocketmq-client-cpp

# By default, CFLAGS contains `/usr/local/include`
sudo mkdir -p /usr/local/include/rocketmq/
sudo cp rocketmq-client-cpp/include/* /usr/local/include/rocketmq

binary library

your could download directly or build manually:

  • download specific release: rocketmq-client-cpp and unzip the package, please choose the right version according to your OS and unzip it, then copy the library files to to your LD_LIBRARY_PATH directory(as default, /usr/local/lib/ works finely).
  • build from source: Build and Install

Installation

pip install rocketmq-client-python

Usage

Producer

from rocketmq.client import Producer, Message

producer = Producer('PID-XXX')
producer.set_name_server_address('127.0.0.1:9876')
producer.start()

msg = Message('YOUR-TOPIC')
msg.set_keys('XXX')
msg.set_tags('XXX')
msg.set_body('XXXX')
ret = producer.send_sync(msg)
print(ret.status, ret.msg_id, ret.offset)
producer.shutdown()

PushConsumer

import time

from rocketmq.client import PushConsumer


def callback(msg):
    print(msg.id, msg.body)


consumer = PushConsumer('CID_XXX')
consumer.set_name_server_address('127.0.0.1:9876')
consumer.subscribe('YOUR-TOPIC', callback)
consumer.start()

while True:
    time.sleep(3600)

consumer.shutdown()

License

Apache License, Version 2.0 Copyright (C) Apache Software Foundation