blob: 245eacbc178e883c07942c757f65ceb2aabe10f6 [file] [log] [blame] [view]
----------
## Qucik start
* set cpp despendencies
```bash
wget https://opensource-rocketmq-client.oss-cn-hangzhou.aliyuncs.com/cpp-client/linux/1.0.2/RHEL7.x/librocketmq.tar.gz
tar -zxvf librocketmq.tar.gz
cd librocketmq
cp -R rocketmq /usr/local/include
cd librocketmq.a librocketmq.so /usr/local/lib
set LD_LIBRARY_PATH
```
* build python client from source. if you already had it, ignore this step
- [how to build](https://github.com/apache/rocketmq-client-python/blob/master/doc/Introduction.md)
- copy the build result [librocketmqclientpython.so](#) to /usr/local/lib
* how to produce a message<br />
```python
from librocketmqclientpython import *
### how to init a producer instance
def init_producer():
producer = CreateProducer('your producer group name')
SetProducerNameServerAddress(producer, 'your name srv address')
StartProducer(producer)
return producer
### how to send a message
def send(body):
msg = CreateMessage(topic)
SetMessageBody(msg, body)
result = SendMessageSync(producer, msg)
DestroyMessage(msg)
print 'done . msg id = ' + result.GetMsgId()
```
* how to consume the message
```python
from librocketmqclientpython import *
## how to init a consumer intance
def build_consumer(_group, _topic, _tag):
consumer = CreatePushConsumer(_group)
SetPushConsumerNameServerAddress(consumer, name_srv)
SetPushConsumerThreadCount(consumer, 1)
Subscribe(consumer, _topic, _tag)
RegisterMessageCallback(consumer, callback)
StartPushConsumer(consumer)
print 'consumer is ready...'
return consumer
## callback to consume the messages
def callback(msg):
print 'topic=%s' % GetMessageTopic(msg)
print 'tag=%s' % GetMessageTags(msg)
print 'body=%s' % GetMessageBody(msg)
print 'msg id=%s' % GetMessageId(msg)
print 'map.keys %s' % GetMessageKeys(msg)
return 0
```