hrabry
@hrabry

Как организовать очередь http запросов для парсера?

Делаю парсер с возможностью отправлять в асинхронном режиме множество http запросов.
Использую laravel 6, mysql, guzzle, dom crawler.
Есть таблица в которой хранятся визиты с url, rule_id, scheduled_visit_at, visited_at, response_body например. rule_id это ID правила в котором хранится настройки для парсинга конкретных ссылок. У этих настроек есть условие например ограничение 10 параллельных запросов к одному ресурсу, 50 к другому и тд ... А так же отдельно есть настройка для ограничения параллельных запросов на весь сервер например 200.

Запускать 200 процессов воркеров очереди не вариант, так как это по идеи накладно по ресурсам.
Хотелось бы написать какой нить скрипт типа демона что бы он крутился постоянно в фоне, в котором было бы что то типа пула параллельных запросов, если на данный момент в пуле меньше лимита то чекаем есть ли что-то взять в оборот сейчас.

Такое реально вообще, если да то какие библиотеки взять ?
Или как то по другому решить эту задачу?
Читал про асинхронные фреймворки, типа react, amphp в них есть не блокирующие I/O библиотеки для http и mysql. подойдут ли они для этого ?
  • Вопрос задан
  • 361 просмотр
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы