GithubHelp home page GithubHelp logo

00mjk / rocketmq-client-python Goto Github PK

View Code? Open in Web Editor NEW

This project forked from apache/rocketmq-client-python

0.0 0.0 0.0 840 KB

Apache RocketMQ python client

Home Page: https://rocketmq.apache.org/

License: Apache License 2.0

Shell 2.48% Python 92.90% Dockerfile 4.62%

rocketmq-client-python's Introduction

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.

Download by binary release.

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

Build from source

you can also build it manually from source according to 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, 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()

License

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

rocketmq-client-python's People

Contributors

dongeforever avatar duhengforever avatar duhenglucky avatar dushujun avatar francisoliverlee avatar ifplusor avatar lemonzone2010 avatar messense avatar rongtongjin avatar shannonding avatar sicklife avatar tom0392 avatar twz915 avatar vongosling avatar xietx1995 avatar yoster0520 avatar ysjjovo avatar ziyht avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.