Улучшение [1.1.59] Возможность ограничивать не слоты, а потоки

Владислав

A-Parser Enterprise License
A-Parser Enterprise
Всем доброго времени суток.
Сейчас в настройках можно задать настройку "выполнять не более N тасков одновременно", благодаря чему работает очередь.
Есть идея сделать аналог, но в потоках: "выполнять не более N потоков одновременно". Т.е. если на каком-то таске осталось пару долгих потоков из тысячи, то освободившиеся девятьсот потоков можно запустить в соседнем таске и по мере освобождения потоков добавлять лимит.

Форб, здравая идея?
 
с точки зрения запуска следующего задания в процессе завершения предыдущего - не совсем, т.к. заданию могут понадобиться все потоки(например при многоуровневом парсинге)

с целью запуска нескольких заданий с разным числом потоков с общим лимитом в N - вполне возможно это будет удобно
 
Сегодня подумал о такой фиче. Это не просто удобно, а необходимо.
В частности, сейчас у меня не так много заданий, поэтому я купил всего 20 потоков. Итого, одновременно у меня может выполняться по 3 задания по 6 потоков, + проверка проксей - 2 потока. Но бывает такое, что при старте парсеров забывается поставить нужное кол-во потоков, в результате чего, задания отрабатывают с серьезными глюками (собирается только малая часть данных).

Нужно сделать настройку, ограничивающую не только кол-во одновременных заданий, но и кол-во одновременных потоков. И, если, очередное задание не укладывается в общий лимит, оно ждет своей очереди.

Например:
задание 1 - 5 потоков
задание 2 - 14 потоков
задание 3 - 5 потоков

Лимит 20 потоков.

Получаем, что работать должны задания 1 и 2, а задание 3 должно ждать очереди.

Да, и не забыть учесть еще и потоки выделенные для проксичекера.
 
Добавлен общий лимит потоков в глобальных настройках
 
Назад
Верх