问答

python – Pika worker在运行channel.declare_queue时抛出异常

 来源    2019-03-28    1  

我正在编写一个python客户端来接受来自RabbitMQ代理的作业消息并处理作业,并将结果返回给另一台服务器.我向RabbitMQ代理发送消息的脚本启动正常,但是我的工作人员在运行channel.declare_queue(queue =’task_queue’)时抛出以下错误

pika.exceptions.AMQPChannelError:(406,“PRECONDITION_FAILED – vhost中队列’task_queue’的参数’/’不等效”)

客户:

import pika
connection = pika.BlockingConnection(pika.ConnectionParameters(host=cmdargs.server))
channel = connection.channel()
channel.queue_declare(queue='task_queue')
channel.basic_qos(prefetch_count=1)
channel.basic_consume(ProcJobCallback, queue='task_queue')
channel.start_consuming()

与RabbitMQ交互的服务器方法:

def addNewJob(self, newJob):
        self.jobList.append(newJob)
        connection = pika.BlockingConnection(pika.ConnectionParameters(host='localhost'))
        channel = connection.channel()
        channel.queue_declare(queue='task_queue')

        for tile in newJob.TileStatus:
                message = "{0},{1},{2}".format(newJob, tile[0], tile[1])
                channel.basic_publish(exchange='', routing_key='task_queue', body=message, properties=pika.BasicProperties(delivery_mode = 2, ))
        connection.close()

非常感谢任何帮助或见解.

编辑:我发现为什么我上面列出的代码出错.我在发布消息时指定delivery_mode = 2,但是当我声明队列时,我忘了添加Durable = True参数.

您确定要连接到发布者和消费者方面的同一服务器(主机)吗?

connection = pika.BlockingConnection(pika.ConnectionParameters(host=cmdargs.server))

connection = pika.BlockingConnection(pika.ConnectionParameters(host='localhost'))
相关文章
python – 为什么每当我运行virtualenvwrapper命令时,我突然看到`Usage:source deactivate?
问答在使用virtualenvwrapper之前,我从来没有使用过这个消息,但是现在我在运行时突然看到这个消息,比如mkvirtualenv或workon Usage: source deactivate ...
python – Pylons REPL在运行Web服务器时重新评估代码
问答我正在使用预先存在的pylons项目(okfn的ckan)在python中编程,但我是一个贸易上的lisper并习惯于这种做事方式. 如果我做出虚假陈述,请纠正我: 在挂架中,似乎我应该说 $past ...
1
python – 当我尝试运行金字塔项目时,为什么我得到DistributionNotFound错误?
问答我安装在我的新Windows 8(x64): > python-2.7 > pywin32-218.win32-py2.7 > setuptools-0.6c11.win32-py2 ...
1
Python:使用coverage运行nose测试时的AssertionError
问答我对python测试相当绿色,所以这可能是我做错了. 当我运行我的测试时,测试运行器工作正常并且覆盖范围也很好..但是在两者之间我得到一个断言错误: Traceback (most recent ca ...
1
python – 在VPS上运行Selenium webdriver时出现各种Urllib2错误
问答我正在使用带有Python绑定的Selenium来从具有无头Firefox的网页中抓取AJAX内容.它在我的本地机器上运行时效果很好.当我在我的VPS上运行完全相同的脚本时,会在看似随机(但一致)的行 ...
1
使用Ubuntu容器(ascii,utf-8)在docker(Python,Java,Ruby,…)中运行应用程序时出现编码问题
问答在我自己的PC上,应用程序运行良好,但当它部署到docker时,由于无效字符而失败. 我使用的是ubuntu:最新的容器和python3,java和ruby.::您需要设置正确的区域设置. 这是最小的 ...
1
python – 当我尝试运行Anaconda Navigator时出现分段错误
问答我最近为Python 3.6安装了Anaconda但是每当我尝试运行Anaconda-Navigator时它都会显示错误"Segmentation fault". 我已经尝试在终端 ...
1
运行jsp文件时抛出异常
问答我正在尝试运行我的.jsp文件之一,我正在获得类强制转换异常. ('org.apache.catalina.core.DefaultInstanceManager无法强制转换为org.apache.t ...
1
python – 为什么getattr()在属性不存在时抛出异常?
问答这让我感到困惑.考虑下面的Django模型 – 代表动物园管理员和他们负责清理的动物园的笼子: class Zookeeper(moodels.Model): name = models.CharFi ...
1
c# – UnitTestIsolationException:在Release / Debug模式下运行Shims测试时抛出异常
问答我试图使用Microsoft Shims运行此单元测试,但它在Shims.Context.Create()中抛出异常;方法. 环境:VS 2012,Win2K8 R2 namespace MyShim ...
1
python – 在PhantomJS运行Selenium Webdriver时,InvalidElementStateException异常
问答我正在运行硒测试,在Firefox中可以正常工作,但是当使用PhantomJS时,我会收到错误. 这是我的python代码: driver.find_element_by_link_text(&quo ...
2
当我从网上运行CGI脚本时,为什么python不能找到一些模块?
问答我不知道这里可能出现什么问题: 我有一些来自Biopython的模块,我可以在使用交互式提示或通过命令行执行python脚本时轻松导入. 问题是,当我尝试在web可执行的cgi脚本中导入相同的biop ...
python – 当我尝试运行Pyramid时为什么会出现ImportError?
问答我正在尝试从Pyramid文档中查看"Single File Tasks"教程,但我遇到了实际运行单文件项目的问题. 我在Ubuntu 11.10上运行Python 2.7.我安装 ...
1
python – 运行Apache / WSGI时,Django URL解析不起作用
问答当我使用Djangos内置服务器运行我的应用程序时,一切正常.但是当我尝试通过Apache和WSGI运行时,URL不再被识别,但它位于urls.py文件中. 我得到的错误页面是这样的: Page no ...
1
python – 为什么只有在运行完整的测试套件时,django测试才会失败?
问答我在Django 1.5中测试了这些条件: >独立运行时 >运行完整的TestCase时 >当我的所有应用程序的测试都运行时 但是当使用python manage.py测试运行完整的 ...
1
python – 如何在硒下运行chromedriver日志时减少chromedriver日志的详细程度?
问答我的jenkins关于我的功能测试的失败报告充满了这样的行: selenium.webdriver.remote.remote_connection: DEBUG: Finished Request ...
获取python脚本以在mac中启动时运行
问答如何在每次计算机启动时运行python脚本?::How to run a shell script on startup (OSX) 在该脚本中只需调用您的程序即可 python path/to/yo ...
1
什么是python列表函数的运行时复杂性?
问答我正在写一个python函数,看起来像这样 def foo(some_list): for i in range(0, len(some_list)): bar(some_list[i], i) 所以 ...
1
python – 使用Popen运行本地二进制文件时出现’文件未找到’错误
问答我正在编写一个Python程序来调用Popen的本地二进制文件来捕获它的输出.我用os.chdir将目录更改为它,我已经验证了文件存在.但是,以下代码会引发"找不到文件"异常. 谁 ...
1