Задания Crontab не запускают несколько пауков Scrapy правильно - PullRequest
0 голосов
/ 08 июня 2019

У меня есть задание crontab, которое запускает файл myautorun.sh , который содержит 3 паука:

crontab -e

14 * * * * * ~bin/myautorun.sh

, и myautorun.sh выглядит следующим образомэто:

scrapy crawl spider1 &
scrapy crawl spider2 &
scrapy crawl spider3

каждый паук соскребает по 20 страниц.

при запуске cronjob он заканчивается переменными страницами соскреба около 30, а не 60. Каждый паук читает несколько страниц, но не все 20страницы.Однако, если я прокомментирую двух пауков и запускаю их отдельно по одному, это дает мне 60.

Поэтому я озадачен, почему он не может правильно запустить параллельных пауков, я запускаю пауков с помощью Crawlera, и они включенывиртуальный сервер емкостью 1 ГБ.

Есть ли какие-либо настройки или что-то, чего мне не хватает?Спасибо,

Ответы [ 2 ]

0 голосов
/ 08 июня 2019

& означает, что вы запускаете их параллельно, так что, возможно, проблема заключалась в том, что ваши пауки занимали слишком много ОЗУ и, следовательно, были убиты

В любом случае, вы также должны перенаправить выходные данные паука в файлы журналов, чтобыв будущем возникнет какая-либо ошибка, вы сможете увидеть, что произошло

scrapy crawl spider1 > logs_1.txt &
scrapy crawl spider2 > logs_2.txt &
scrapy crawl spider3 > logs_3.txt
0 голосов
/ 08 июня 2019

Я создал еще один виртуальный сервер с оперативной памятью 3 ГБ, и это решило проблему!

...