sunkezai 发表于 2017-7-2 19:36:27

Python 操作rabbitmq中的confirm模式的错误

  今天使用rabbitmq的confirm模式,书上介绍的是pika版本是0.9.6,但是我用的是别的版本,发现这样的错误
  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)
  看官网后发现错了,应该改成下面的样式:
  #!/usr/bin/env python #coding:utf-8 import pika,sys
  from pika import spec credentials=pika.PlainCredentials('guest','guest')
  conn_params=pika.ConnectionParameters('localhost',credentials=credentials) conn_broker=pika.BlockingConnection(conn_params) channel=conn_broker.channel()
  channel.confirm_delivery()
  #channel.confirm_delivery()
  msg=sys.argv
  msg_props=pika.BasicProperties()
  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
页: [1]
查看完整版本: Python 操作rabbitmq中的confirm模式的错误