• rabbitmq 消息持久化之receive and send


    二:
    任务分发 &消息持久化
     
    启用多个接收端的时候如果某一个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()



  • 相关阅读:
    单例
    Label自适应高度
    通知中心(以夜间模式为例)
    ios VFL屏幕自适应
    网络请求数据(同步POST,异步POST)
    linux 设备文件
    linux 文件存取 软硬联接的区别
    linux 磁盘管理与文件系统
    linux开机过程
    Build Antlr4 projects with eclipse java project template.
  • 原文地址:https://www.cnblogs.com/weiman3389/p/6224686.html
Copyright © 2020-2023  润新知