Вместо того чтобы равномерно распределить потоки по всем активным заданиям, все потоки уходят на первое задание. Далее часть потоков переключается на следующее и так далее. Это не очень хорошо, но всё же можно понять. А как понять, когда на 99% становится 0 активных потоков и все они переходят на другое задание. Почему не добивается задание до конца, а только через задание?
Без подробного описания способа и условий воспроизведения проблемы, демонстрации настроек потоков, общих настроек парсера и т.п. довольно сложно вообще говорить о наличии проблемы и тем более о возможности какого-то фикса. Опишите, пожалуйста, все это максимально подробно.
Поставлено несколько задач. В каждой по 1000 запросов. На каждую задачу наложено ограничение в 100 потоков. Общее количество потоков 100. Включен динамический лимит потоков. Здесь есть два непонятных момента. Почему потоки не делятся между всеми заданиями поровну в моём случае. Я думаю потоки бы разделились поровну, если бы к примеру стояло 10 задач с лимитом 5 потоков на каждую задачу. Но в моём случае 3 задачи по 100 потоков. Почему нельзя разделить каждую задачу поровну (по 33 потока). Это первое. Ещё я заметил, что первая задача не добилась до конца, все потоки перешли на следующее задание, а на первом стало 0 активных потоков. Когда отпарсилась вторая задача, он добил первую и перешел к третьей.
Потому что Общее кол-во потоков 100 и задание запущено в 100. Подробнее логика работы динамических потоков описана здесь: https://a-parser.com/threads/2726/ Могу предположить что вторая задача была запущена с большим приоритетом.