Remove macOS CI temporarily
1 file changed
tree: 0c5c0c29b3c23e32ae3cf14c15bb527a24eedff6
  1. .github/
  2. ci/
  3. rocketmq/
  4. tests/
  5. .bumpversion.cfg
  6. .coveragerc
  7. .gitignore
  8. .travis.yml
  9. changelog
  10. CONTRIBUTING.md
  11. dev-requirements.txt
  12. LICENSE
  13. MANIFEST.in
  14. manylinux.sh
  15. NOTICE
  16. PULL_REQUEST_TEMPLATE.md
  17. pytest.ini
  18. README.md
  19. setup.cfg
  20. setup.py
README.md

rocketmq-python

Build Status codecov PyPI

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

Installation

pip install rocketmq

Usage

Producer

from rocketmq.client import Producer, Message

producer = Producer('PID-XXX')
producer.set_namesrv_domain('http://onsaddr-internet.aliyun.com/rocketmq/nsaddr4client-internet')
# For ip and port name server address, use `set_namesrv_addr` method, for example:
# producer.set_namesrv_addr('127.0.0.1:9887')
producer.set_session_credentials('XXX', 'XXXX', 'ALIYUN') # No need to call this function if you don't use Aliyun.
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_namesrv_domain('http://onsaddr-internet.aliyun.com/rocketmq/nsaddr4client-internet')
# For ip and port name server address, use `set_namesrv_addr` method, for example:
# consumer.set_namesrv_addr('127.0.0.1:9887')
consumer.set_session_credentials('XXX', 'XXXX', 'ALIYUN') # No need to call this function if you don't use Aliyun.
consumer.subscribe('YOUR-TOPIC', callback)
consumer.start()

while True:
    time.sleep(3600)

consumer.shutdown()

PullConsumer

from rocketmq.client import PullConsumer


consumer = PullConsumer('CID_XXX')
consumer.set_namesrv_domain('http://onsaddr-internet.aliyun.com/rocketmq/nsaddr4client-internet')
# For ip and port name server address, use `set_namesrv_addr` method, for example:
# consumer.set_namesrv_addr('127.0.0.1:9887')
consumer.set_session_credentials('XXX', 'XXXX', 'ALIYUN') # No need to call this function if you don't use Aliyun.
consumer.start()

for msg in consumer.pull('YOUR-TOPIC'):
    print(msg.id, msg.body)

consumer.shutdown()

License

This work is released under the MIT license. A copy of the license is provided in the LICENSE file.