У нас есть папка с 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 от оригинального разработчика. Еще раз спасибо!