【问题标题】:Getting error when Python connects with RabbitMQPython 连接 RabbitMQ 时出错
【发布时间】:2019-09-19 12:23:41
【问题描述】:

我正在尝试从 Python 连接 RabbitMQ。这是我正在使用的以下代码

connection = pika.SelectConnection(parameters, self.on_connection_open, self.on_open_error_callback,
                                           stop_ioloop_on_close=False)

我在 RabbitMQ 中设置了配置,并在 Python 代码中也复制了相同的配置。但是运行时会抛出以下错误。

TypeError: _ _init_ _() 得到了一个意外的关键字参数“stop_ioloop_on_close”

谁能帮我解决这个问题。供您参考,我使用的是所有软件的最新版本。

提前致谢!!

【问题讨论】:

  • 不,这是在生产服务器上运行的现有代码。我在本地机器上进行设置
  • 它的鼠兔==0.11.2
  • 是的,这行得通。感谢@Lutz Horn 指出这一点

标签: python-3.x rabbitmq pika


【解决方案1】:

对于这个问题,需要将 pika 版本降级到 0.11.2 和最近的版本抛出这个错误。

【讨论】:

    【解决方案2】:

    问题是由于this 问题,1.0.0 版本中的参数是removed。您应该锁定要求以始终确保安装早于 1.0 的版本。

    例如

    将这样的内容添加到项目的需求文件中。

    pika<1.0
    

    此外,可能值得考虑修复代码,然后删除版本限制。

    【讨论】:

      【解决方案3】:

      如果您不想降级您的版本,您可以删除stop_ioloop_on_close 参数。由于功能应该保持不变(即现在它不再检查关闭时要做什么,所以它会继续运行)。

      如果您确实想关闭连接,可以在需要时使用on_close_callback 参数自己调用connection.ioloop.stop()

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-07-22
        • 1970-01-01
        • 2022-12-03
        • 1970-01-01
        • 2016-09-15
        • 1970-01-01
        • 2016-06-16
        • 1970-01-01
        相关资源
        最近更新 更多