Улучшение Сделать возможность хранения информации по используемым прокси во внешней базе

sergeda

A-Parser Enterprise License
A-Parser Enterprise
Так как парсер не может работать с многоядерными процессорами то приходиться запускать кучу инстансов парсера на разных портах. Но тут возникает проблема с тем, что у каждого инстанса свой пул прокси для потоков и при одновременном парсинге одного сайта из нескольких инстансов прокси быстро блокирую из-за их параллельной утилизации. Выходом могла бы быть опциональная возможность хранения данных по прокси и их текущей утилизации во внешней базе типа Memcached, Redis, Aerospike либо еще что-то. Чтоб оно работало по тому же принципу как сейчас работает настройка Global proxy ban в настройках потоков.
 
Если речь идет об опции Max threads per proxy: 1(а в других вариантах эта затея бессмыслена), то проще будет разделить список прокси поровну между парсерами, чтобы каждый работал со своим независимым списком
 
Если речь идет об опции Max threads per proxy: 1(а в других вариантах эта затея бессмыслена), то проще будет разделить список прокси поровну между парсерами, чтобы каждый работал со своим независимым списком
А если список прокси грузиться с других сайтов или собирается? Как его разделить?
 
@Forbidden А если список прокси грузиться с других сайтов или собирается? Как его разделить? Плюс с доработкой что я предлагаю можно запускать сколько угодно инстансов парсера и не думать как же эти прокси поразделять, если в инстансе нет запущенных задач - остальные инстансы используют все прокси. А это разделение ограничит количество проксей, доступных для каждого инстанса.
 
можно предлагать сколь угодно сложные доработки, но они не будут реализованы
работа по учету и распределению прокси между потоками очень интенсивная и вынос ее во внешнюю базу драматически скажется на производительности парсинга в целом
 
Назад
Верх