commit | 9a38c4314abbc290396c75de28054898214c3d3f | [log] [tgz] |
---|---|---|
author | sicklife <tubkninght@gmail.com> | Wed Jul 29 22:12:57 2020 +0800 |
committer | James Yin <ywhjames@hotmail.com> | Wed Jul 29 23:12:05 2020 +0800 |
tree | ede3593c3c957a9969bb9e462eb29ff1734ca86a | |
parent | 7e9ffd91c3f94a9e2ab3971ced6fb329a0c7e6ec [diff] |
add set_instance_name function for producer
RocketMQ Python client, based on rocketmq-client-cpp, supports Linux and macOS
librocketmq
rocketmq-client-python is a lightweight wrapper around rocketmq-client-cpp, so you need install librocketmq
first.
download specific release according you OS: rocketmq-client-cpp-2.0.0
centos
take centos7 as example, you can install the library in centos6 by the same method.
wget https://github.com/apache/rocketmq-client-cpp/releases/download/2.0.0/rocketmq-client-cpp-2.0.0-centos7.x86_64.rpm sudo rpm -ivh rocketmq-client-cpp-2.0.0-centos7.x86_64.rpm
debian
wget https://github.com/apache/rocketmq-client-cpp/releases/download/2.0.0/rocketmq-client-cpp-2.0.0.amd64.deb sudo dpkg -i rocketmq-client-cpp-2.0.0.amd64.deb
macOS
wget https://github.com/apache/rocketmq-client-cpp/releases/download/2.0.0/rocketmq-client-cpp-2.0.0-bin-release.darwin.tar.gz tar -xzf rocketmq-client-cpp-2.0.0-bin-release.darwin.tar.gz cd rocketmq-client-cpp mkdir /usr/local/include/rocketmq cp include/* /usr/local/include/rocketmq cp lib/* /usr/local/lib install_name_tool -id "@rpath/librocketmq.dylib" /usr/local/lib/librocketmq.dylib
you can also build it manually from source according to Build and Install
pip install rocketmq-client-python
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()
import time from rocketmq.client import PushConsumer, ConsumeStatus def callback(msg): print(msg.id, msg.body) return ConsumeStatus.CONSUME_SUCCESS 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()
Apache License, Version 2.0 Copyright (C) Apache Software Foundation