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

Улучшение Некорректная работа с потоками

Тема в разделе "Задачи", создана пользователем wbtech, 20 май 2022.

  1. wbtech

    wbtech A-Parser Enterprise License
    A-Parser Enterprise

    Регистрация:
    1 июл 2019
    Сообщения:
    37
    Симпатии:
    3
    Вместо того чтобы равномерно распределить потоки по всем активным заданиям, все потоки уходят на первое задание. Далее часть потоков переключается на следующее и так далее. Это не очень хорошо, но всё же можно понять.

    А как понять, когда на 99% становится 0 активных потоков и все они переходят на другое задание. Почему не добивается задание до конца, а только через задание?
     
  2. Support

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

    Регистрация:
    16 мар 2012
    Сообщения:
    4.377
    Симпатии:
    2.107
    Без подробного описания способа и условий воспроизведения проблемы, демонстрации настроек потоков, общих настроек парсера и т.п. довольно сложно вообще говорить о наличии проблемы и тем более о возможности какого-то фикса. Опишите, пожалуйста, все это максимально подробно.
     
  3. wbtech

    wbtech A-Parser Enterprise License
    A-Parser Enterprise

    Регистрация:
    1 июл 2019
    Сообщения:
    37
    Симпатии:
    3
    Поставлено несколько задач. В каждой по 1000 запросов. На каждую задачу наложено ограничение в 100 потоков. Общее количество потоков 100. Включен динамический лимит потоков.

    Здесь есть два непонятных момента. Почему потоки не делятся между всеми заданиями поровну в моём случае.

    Я думаю потоки бы разделились поровну, если бы к примеру стояло 10 задач с лимитом 5 потоков на каждую задачу. Но в моём случае 3 задачи по 100 потоков. Почему нельзя разделить каждую задачу поровну (по 33 потока). Это первое.

    Ещё я заметил, что первая задача не добилась до конца, все потоки перешли на следующее задание, а на первом стало 0 активных потоков. Когда отпарсилась вторая задача, он добил первую и перешел к третьей.
     
  4. Support

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

    Регистрация:
    16 мар 2012
    Сообщения:
    4.377
    Симпатии:
    2.107
    Потому что Общее кол-во потоков 100 и задание запущено в 100. Подробнее логика работы динамических потоков описана здесь: https://a-parser.com/threads/2726/

    Могу предположить что вторая задача была запущена с большим приоритетом.
     

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