pyspider - 如何开启多个phantomjs组件

查看:194
本文介绍了pyspider - 如何开启多个phantomjs组件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

发现fetcher、processor等其他组件开启了多个以后,性能的瓶颈就在phantomjs上。因为phantomjs是有定时重启,会导致重启期间、处理任务的过程中(只支持10个并发?)时间过长时,交给phantomjs处理的任务出现一部分失败。所以,有以下两个想法:

  1. 开启多个phantomjs组建,发现使用 pyspider -c pyspider.json phantomjs --port 25556 的时候,该组件无法从rabbitmq队列消费消息。请问该怎么调整?

  2. 增加phantomjs的并发量,该如何设置?

有哪位兄弟能提供个思路。大谢啊!

解决方案

1、从pypider的fetcher目录找到phantomjs_fetcher.js,自己使用如下命令启动多个phantomjs进程(根据需求启动)分别监听不同端口,注意phantomjs_fetcher.js文件的路径和端口号
phantomjs.exe --ssl-protocol=any --disk-cache=true --ssl-protocol=tlsv1 --ignore-ssl-errors=true phantomjs_fetcher.js 26666
2、安装一个nginx做个负载均衡,监听20000端口
3、启动pyspider的时候使用参数--phantomjs-proxy 127.0.0.1:20000 指定phantomjs服务地址

这篇关于pyspider - 如何开启多个phantomjs组件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆