Параллельное выполнение большого количества небольших заданий в Windows с возможностью тайм-аута

Мне нужно обработать> 50000 файлов с помощью стороннего приложения командной строки .exe. Приложение принимает только один входной файл за раз, поэтому я должен запустить приложение> 50000 раз. Каждый файл (каждая работа) обычно занимает около одной секунды. Однако иногда приложение зависает...