我有一个crontab作业,它运行一个 myautorun.sh 文件,该文件包含3个Spider:
crontab -e
14 * * * * * ~bin/myautorun.sh
和myautorun.sh看起来像这样:
scrapy crawl spider1 &
scrapy crawl spider2 &
scrapy crawl spider3
每个蜘蛛刮20页。
运行cronjob时,它最终会在30左右的可变刮擦页面上结束,而永远不会是60。 每个蜘蛛读取几页,但不能读取全部20页。但是,如果我评论两个蜘蛛并一次单独运行它们,它会给我60。
所以我很困惑为什么它不能正确运行并行蜘蛛, 我正在使用Crawlera运行Spider,它们位于1GB的ram虚拟服务器上。
是否有任何设置或缺少的任何内容? 谢谢
答案 0 :(得分:0)
我用3GB内存创建了另一个虚拟服务器,它解决了这个问题!
答案 1 :(得分:0)
array1 with: array2 do:
[ :a :b | a == b ifFalse: [ ^ false ]].
^ true
表示您正在并行运行它们,所以这可能是个问题,您的蜘蛛占用了太多内存,因此被杀了
无论如何,您还应该将Spider的输出重定向到日志文件,以便将来出现任何错误时,您都可以看到发生了什么事
&