tornado+celery 抛出unexpected param stop_ioloop_on_close异常

开发基于celery框架的定时任务发布系统时,环境配置出了不少问题,写一下最坑的一点:
安装环境:centos7 + python2.7 + mysql5.6 + redis? + tornado4.3 + celery3.1 等

需要安装tornado-celery,但是python2.7没有默认的pika包导致tornado-celery运行报错。
安装pika包
运行tornado报错,报错原因是:中stop_ioloop_on_close这个参数unexpected。
打断点跟了下bug,发现这段代码:
路径:python所在环境/site-packages/tcelery/connection.py中的Connection().connect方法中这段:

try:
            TornadoConnection(params, stop_ioloop_on_close=False,
                              on_open_callback=partial(self.on_connect, callback),
                              custom_ioloop=self.io_loop)
        except AMQPConnectionError:
            logging.info('Retrying to connect in 2 seconds')

其所调用的模块是 python所在环境/site-packages/pika/adapters/tornado_connection.py中的模块。但是该模块的相应方法并没有stop_ioloop_on_close参数。

原因是我安装的pika没有指定版本,默认的最高版本在这里有改动。

解决:
pip uninstall pika
pip install pika==0.9.14

0.9.14版本是可用的,其他版本可能也可以,我没有试过

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值