Python 操做rabbitmq中的confirm模式的錯誤

今天使用rabbitmq的confirm模式,書上介紹的是pika版本是0.9.6,可是我用的是別的版本,發現這樣的錯誤html

Traceback (most recent call last):
  File "hello_world_producer1.py", line 27, in <module>
    channel.confirm_delivery(confirm_handler)
TypeError: confirm_delivery() takes exactly 1 argument (2 given)python

看官網後發現錯了,應該改爲下面的樣式:git

#!/usr/bin/env python #coding:utf-8 import pika,sys github

from pika import spec credentials=pika.PlainCredentials('guest','guest') app

conn_params=pika.ConnectionParameters('localhost',credentials=credentials) conn_broker=pika.BlockingConnection(conn_params) channel=conn_broker.channel()code

channel.confirm_delivery()htm

#channel.confirm_delivery() rabbitmq

msg=sys.argv[1] utf-8

msg_props=pika.BasicProperties() it

msg_props.content_type="text/plain" msg_ids=[]

if channel.basic_publish(body=msg,       exchange="hello-exchange",       properties=msg_props,       routing_key='hola'):

    print 'Confirm receive!'

else:  

  print 'Message lost'

#msg_ids.append(len(msg_ids)+1)

channel.close()

##這裏參考https://github.com/rabbitinaction/sourcecode/issues/9

##https://pika.readthedocs.io/en/latest/examples/blocking_delivery_confirmations.html

相關文章
相關標籤/搜索