zoukankan      html  css  js  c++  java
  • rabbitmq 消息持久化

     

    rabbitmq 消息持久化

     分类:
    二:
    任务分发 &消息持久化
     
    启用多个接收端的时候如果某一个receive 关闭要保证消息有反馈是否收到
     
    send端
    #-*- coding: UTF-8 -*-
    import pika
    cred = pika.PlainCredentials('zxl','pwd') #账号密码
    params = pika.ConnectionParameters(host='192.168.110.233',port=5672,credentials=cred) #条件设置
    connection = pika.BlockingConnection(params) #给定条件
    channel = connection.channel()
    channel.queue_declare(queue='t_list',durable=True) #创建一个t_list 队列
    for i in range(0,100):
    content = ' ni hao is hello'+str(i)
    channel.basic_publish(exchange='',
    routing_key='t_list',
    body=content,
    properties=pika.BasicProperties(delivery_mode=2) #确保消息持久
    )
    print('send hello')
    print(channel)
    connection.close()
    receive 端
    #-*- coding: UTF-8 -*-
    import pika
    import time
    cred = pika.PlainCredentials('zxl','pwd') #账号密码
    params = pika.ConnectionParameters(host='192.168.110.233',port=5672,credentials=cred) #条件设置
    connection = pika.BlockingConnection(params) #给定条件
    channel = connection.channel()
    channel.queue_declare(queue='t_list',durable=True)

    def callback(ch,method,properties,body):
    print " [x] Received %r" % (body,)
    time.sleep(2)
    ch.basic_ack(delivery_tag = method.delivery_tag)

    channel.basic_consume(callback,queue = 't_list',no_ack = False) #no_ack 自动应答改为False
    print("starting")
    channel.start_consuming()
  • 相关阅读:
    JAVA传值与传址
    JAVA中的栈和堆
    for语句输出图形
    Linux下ps命令详解(转载)
    BMC介绍
    JVM 优化、内存泄露排查、gc.log 分析方法等(转载)
    动态从zookeeper读取kafka信息
    centos 查看文件系统类型
    TCPdump抓包命令详解
    Linux Tab键自动补齐
  • 原文地址:https://www.cnblogs.com/weiman3389/p/6223468.html
Copyright © 2011-2022 走看看