Скажем, у меня есть список из 10 000 строк строки, которые должны обрабатываться 100 рабочими скриптами.шаблон для нескольких сценариев рабочего процесса для обработки списка данных
Я хотел бы, чтобы многие из 100 скриптов выполнялись синхронно, насколько это возможно.
Как только рабочий сценарий заканчивается одной строкой, он должен обработать следующую доступную строку, которая в настоящее время не обрабатывается другим сценарием рабочего.
Если рабочий сценарий выходит из строя на линии, он пропустит его и перейдет к следующей доступной строке, которая в настоящее время не обрабатывается другим сценарием рабочего.
Рабочий сценарий в любое время может быть недоступен в течение неизвестного времени.
Теперь предположим, что из первых начальных 100 рабочих сценариев любой рабочий сценарий может стать недоступным (либо сбой или слишком длинный с текущими данными), но и через некоторое время станет доступным снова через дорогу. Он может снова стать недоступным и может занять слишком много времени, чтобы снова стать доступным на время обработки 10 000 строк.
Как обрабатывать все 10000 строк с начальными скриптами из 100 рабочих синхронно, но любой из них может стать недоступным и после некоторого неизвестного случайного времени он может снова стать готовым к обработке.
Я бы представлял себе что-то вроде цикла для всех 10 000 строк и еще одного сценария для периодического опроса всех доступных рабочих и запуска этих рабочих синхронно.
Я не уверен, как я подойду к этой проблеме.