zoukankan      html  css  js  c++  java
  • rabbitmq安装使用

    使用 http://www.open-open.com/lib/view/open1325131828249.html

    ubuntu:
    apt-get install erlang-nox
    sudo apt-get install rabbitmq-server
    启动
    /etc/init.d/rabbitmq-server start|stop|restart (模式)

    创建目录
    sudo rabbitmqctl add_vhost /pyhtest
    创建用户名
    sudo rabbitmqctl add_user pyh pyh1234
    设置用户权限
    sudo rabbitmqctl set_permissions -p /pyhtest pyh “.*” “.*” “.*”

    启动 sudo  ./bin/rabbitmq-server

    python 调用
    下载py-amqplib https://pypi.python.orgpypi?:action=display&name=amqplib
    sudo chmod 777 setup.py
    安装
    python setup.py install

    生产者

    from amqplib import client_0_8 as amqp
    import sys
    
    filelist=[]
    
    def readfiletolist(filename):
        file = open(filename)
        for line in file.readlines():
         line=line.strip('
    ')
         filelist.append(line)
    #     print "line" + line
    
    
    conn = amqp.Connection(host="localhost:5672", userid="guest", password="guest", virtual_host="/", insist=False)
    chan = conn.channel()
    
    #readfiletolist("1.txt")
    readfiletolist("/home/tanbo/stockdata/2014-06-27.txt")
    for i in filelist:
            #msg = amqp.Message(i)
    #msg = amsg = amqp.Message(sys.argv[1])
            msg = amqp.Message(i)
            msg.properties["delivery_mode"] = 2
            chan.basic_publish(msg,exchange="sorting_room",routing_key="jason")
    
    chan.close() 
    conn.close()
    

    消费者

    from amqplib import client_0_8 as amqp
    
    conn = amqp.Connection(host="localhost:5672", userid="guest", password="guest", virtual_host="/", insist=False)
    chan = conn.channel()
    
    chan.queue_declare(queue="po_box", durable=True, exclusive=False, auto_delete=False)
    chan.exchange_declare(exchange="sorting_room", type="direct", durable=True, auto_delete=False,)
    
    chan.queue_bind(queue="po_box", exchange="sorting_room", routing_key="jason")
    
    def recv_callback(msg):
        print 'Received: ' + msg.body + ' from channel #' + str(msg.channel.channel_id)
    
    chan.basic_consume(queue='po_box', no_ack=True, callback=recv_callback, consumer_tag="testtag")
    while True:
        chan.wait()
    chan.basic_cancel("testtag")
    
    
    chan.close()
    conn.close()
    
  • 相关阅读:
    数据的图表统计highcharts
    spring文件的上传和下载
    项目随笔@Service("testService")-------第二篇
    spring的四种数据源配置
    spring之interceptor篇
    spring过滤器篇
    SecurityManager篇
    Apache shiro篇
    日期工具方法
    定时器CronExpression配置说明详解
  • 原文地址:https://www.cnblogs.com/chengxin1982/p/3820759.html
Copyright © 2011-2022 走看看