pyspider使用redis分布式
在部署pyspider分布式时,尝试连接redis集群
配置项为: "message_queue":"redis://127.0.0.1:6380/db"
在启动时:报如下错误
[E 170221 09:40:39 tornado_fetcher:529] MOVED 12068 127.0.0.1:6380
Traceback (most recent call last):
File "/usr/lib/python2.6/site-packages/pyspider/fetcher/tornado_fetcher.py", line 515, in queue_loop
if self.outqueue.full():
File "/usr/lib/python2.6/site-packages/pyspider/message_queue/redis_queue.py", line 50, in full
if self.maxsize and self.qsize() >= self.maxsize:
File "/usr/lib/python2.6/site-packages/pyspider/message_queue/redis_queue.py", line 40, in qsize
self.last_qsize = self.redis.llen(self.name)
File "/usr/lib/python2.6/site-packages/redis/client.py", line 1219, in llen
return self.execute_command('LLEN', name)
File "/usr/lib/python2.6/site-packages/redis/client.py", line 573, in execute_command
return self.parse_response(connection, command_name, **options)
File "/usr/lib/python2.6/site-packages/redis/client.py", line 585, in parse_response
response = connection.read_response()
File "/usr/lib/python2.6/site-packages/redis/connection.py", line 582, in read_response
raise response
ResponseError: MOVED 12068 127.0.0.1:6380
经查找,得到:因为redis由单节点变为集群,而python的redis连接包暂时还不支持redis集群连接方式,需要更换连接包(redis-py-cluster)。
在安装完redis-py-cluster之后,依旧报上面的错误。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
链接 redis 使用的库是写在代码里面的,不是你安装了就会切换的。
就算你要改代码,也要确认 API 是兼容的。