Мне нужно обработать> 50000 файлов с помощью стороннего приложения .exe командной строки. Приложение принимает только один входной файл за раз, поэтому я должен запустить приложение> 50000 раз.
Каждый файл (каждая работа) обычно занимает около одной секунды. Однако иногда приложение зависает на неопределенное время.
Я написал сценарий оболочки Windows, который запускает все задания последовательно и каждую секунду проверяет, выполнено ли задание. Через 10 секунд он убивает задание и переходит к следующему. Тем не менее, это занимает около 20 часов. Я полагаю, что смогу значительно сократить общее время выполнения, если параллельно выполню несколько заданий. Вопрос в том, как?
В CMD я запускаю задачу с помощью Start, но не существует простого способа восстановить идентификатор процесса (PID), и поэтому я не могу легко отследить, какой экземпляр выполнялся в течение какого времени. Я чувствую, что пытаюсь изобрести зонт заново. Какие-либо предложения?