1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
  2. Вступайте в наш Telegram чат: https://t.me/a_parser Нас уже 2600+ и мы растем!
    Скрыть объявление

Ошибка Проблема с последним потоком/результатом

Тема в разделе "Задачи", создана пользователем seowin555, 12 ноя 2022.

  1. seowin555

    seowin555 A-Parser Pro License
    A-Parser Pro

    Регистрация:
    29 сен 2016
    Сообщения:
    186
    Симпатии:
    37
    Версия А-парсера последняя бета.
    При парсинге разных ПС, в частности Яндекса и Гугла наблюдается проблема с последним потоком.
    На последнем потоке А-парсер встает.
    Сейчас попробовал сделать специально тест задания с 1 результатом, вот что в логах https://skr.sh/sGsL2ECiWrs?a
    Такая проблема наблюдается в последних версиях А-парсера, на любых проксях.

    Можно это поправить? Потому что основные пресеты у меня для парсинга такие, что результат сохраняется только после парсинга всех данных, т.е. данные хранятся в памяти, в итоге ничего не сохраняется в результат.
     
  2. Support

    Support Administrator
    Команда форума A-Parser Enterprise

    Регистрация:
    16 мар 2012
    Сообщения:
    4.377
    Симпатии:
    2.107
    На скриншоте не видно чтобы было какое-то зависание или что-то в этом роде. Идет перебор попыток - это обычное поведение. И обработка данного запроса закончится когда будет получен результат или закончатся попытки.
     
  3. mustr

    mustr A-Parser Enterprise License
    A-Parser Enterprise

    Регистрация:
    11 фев 2013
    Сообщения:
    40
    Симпатии:
    12
    По логике, ближе к концу парсинга, Апарсер замедляется за счёт того, что дольше ищет рабочие прокси и не остаётся живых сессий от других потоков.
    Часто бывают ситуации когда задача по тысячам запросов собирается за пару минут, а последние несколько запросов собирает намного дольше. Такое поведение наблюдается на парсерах, где встречается бан и капча, например, Яндекс и Google.
    Это не ошибка, но было бы здорово эту ситуацию каким-то образом обработать.
    Как вариант, последние запросы собирать параллельно в несколько потоков, которых в избытке ближе к концу парсинга. Конечно, такое поведение не понравится тем, кто использует антикапчу, т.к. увеличит расход. Но можно было бы сделать такую опцию в парсерах. Я бы ею пользовался.
     
    Белый и DeLaKroiX нравится это.
  4. mustr

    mustr A-Parser Enterprise License
    A-Parser Enterprise

    Регистрация:
    11 фев 2013
    Сообщения:
    40
    Симпатии:
    12
    Скриншоты ниже наглядно показывают подобную ситуацию.
    1. Меньше чем за три минуты собрано 70% запросов.
    upload_2022-11-15_18-51-26.png

    2. Оставшиеся 30% собирались целых 16 минут!
    Время сбора растянулось за счёт последних нескольких запросов.
    При этом новых задач параллельно особо не поставишь, т.к. зарезервированы все 150 потоков, а не только один используемый в данный момент. Также и по другим задачам, которые выполнялись параллельно.
    upload_2022-11-15_18-58-13.png
     
  5. Support

    Support Administrator
    Команда форума A-Parser Enterprise

    Регистрация:
    16 мар 2012
    Сообщения:
    4.377
    Симпатии:
    2.107
    Используйте Динамический лимит потоков (https://a-parser.com/threads/2726/) для перераспределения освобождающихся потоков на следующие в очереди задания
     
  6. mustr

    mustr A-Parser Enterprise License
    A-Parser Enterprise

    Регистрация:
    11 фев 2013
    Сообщения:
    40
    Симпатии:
    12
    Спасибо, не знал. Это решает проблему в рамках множества задач. Нам поможет.
    Но по отдельной задаче замедление в конце выполнения останется. Возможно у вас всё же найдётся решение для этой проблемы.
     
  7. denver

    denver A-Parser Enterprise License
    A-Parser Enterprise

    Регистрация:
    6 янв 2013
    Сообщения:
    192
    Симпатии:
    43
    да есть такое, я уже как-то предлагал сделать включение параметра (включить если хочу использовать) где можно задать например в процентах, что если осталось в конце например 0.5% от задания (крохи остались) то например закончить парсинг, но мое предложение завернули к сожалению ))
     

Поделиться этой страницей