Могу ли я запустить несколько парсеров одновременно с помощью заданий cron?

У меня есть расписание crontab для очистки ряда веб-сайтов.

Я установил несколько заданий cron для запуска скребков в 01:00, scraper_1 запускается в 1:01, scraper_2 запускается в 1:03, а scraper_3 запускается в 1:05

На выполнение каждого scraper может уйти от 3 до 6 минут. , поэтому между запущенными скребками есть некоторое время перекрытия.

# start on 1:01
01 01 * * * cd /home/ubuntu/jobscrapers/scraper_1 && scrapy crawl spider_1 >> /tmp/scraper.log 2>&1

# start on 1:03
03 01 * * * cd /home/ubuntu/jobscrapers/scraper_2 && scrapy crawl spider_2 >> /tmp/scraper.log 2>&1

# start on 1:05
05 01 * * * cd /home/ubuntu/jobscrapers/scraper_3 && scrapy crawl spider_3 >> /tmp/scraper.log 2>&1

Все эти парсеры написаны с использованием Scrapy и используют Selenium и Chrome Web Driver.

Код работает нормально на моей машине разработки (Windows) ... но в последнее время я получаю некоторые случайные ошибки на производственной машине (Ubuntu)

Например, скребок запускает штрафы в течение некоторого времени, а затем вылетает с ошибкой следующая ошибка:

selenium.common.exceptions.WebDriverException: Сообщение: неизвестная ошибка: сеанс удален из-за сбоя страницы из-за неизвестной ошибки: невозможно определить статус загрузки из-за сбоя вкладки (информация о сеансе: headless chrome = 86.0.4240.111) (Информация о драйвере: chromedriver = 2.41.578700 (2f1ed5f9343c13f73144538f15c00b370eda6706), platform = Linux 5.4.0-1029-aws x86_64)

Это потому, что одновременно работают 2 скребка? Создает ли crontab новый поток для каждого парсера (webdriver)?

Обновленный вопрос

Проблема заключалась в том, что на сервере не осталось места ...

Я обнаружил проблему случайно, журнал scrapy был не полезно. Существовали ли другие журналы, которые я должен был проверить, чтобы указать мне на настоящую проблему?

1
задан 2 April 2021 в 11:50

1 ответ

Проблема заключалась в том, что на моем сервере не осталось места:

Я использую команду df -h , чтобы проверить доступное пространство, и заметил, что раздел / был заполнен на 100%:

$ df -h
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        460M     0  475M   0% /dev
tmpfs           478M     0  492M   0% /dev/shm
tmpfs           478M  432K  492M   1% /run
tmpfs           478M     0  492M   0% /sys/fs/cgroup
/dev/nvme0n1p1  8.0G  8.0G  664K 100% /
tmpfs            96M     0   99M   0% /run/user/1000

Поскольку мой сервер является экземпляром AWS EC2, мне пришлось увеличить объем. Следующие 2 ссылки объясняют, как расширить том EC2:

  1. Как расширить том EC2
  2. Как расширить том, если вы получаете сообщение об ошибке, что нет места
0
ответ дан 23 April 2021 в 23:27

Другие вопросы по тегам:

Похожие вопросы: