Запустить 4 одновременных экземпляра сценария python в папке файлов данных

У нас есть папка с 50 файлами данных (последовательностями ДНК следующего поколения), которые необходимо преобразовать, запустив скрипт python для каждого из них. Скрипт занимает 5 часов на файл, является однопоточным и в значительной степени зависит от ЦП (ядро ЦП работает на 99% с минимальным вводом-выводом на диск).

Поскольку у меня 4-ядерный компьютер, я хотел бы запустить 4 экземпляра этого скрипта одновременно, чтобы значительно ускорить процесс.

Думаю, я мог бы разделить данные на 4 папки и запустить следующий сценарий bash для каждой папки одновременно:

files=`ls -1 *`
for $file in $files;
do
   out = $file+=".out" 
   python fastq_groom.py $file $out
done

Но должен быть лучший способ запустить его в одной папке. Для этого мы можем использовать Bash / Python / Perl / Windows.
(К сожалению, сделать сценарий многопоточным - это не то, что мы можем сделать)


Использование решения @phs xargs было для нас самым простым способом решить проблему. Однако мы запрашиваем ответ @Björn от оригинального разработчика. Еще раз спасибо!

5
задан Jon Rhoades 24 January 2012 в 23:21
поделиться