Привет, у меня есть простой сценарий, который берет файл и запускает на нем другой сценарий Perl. Сценарий делает это с каждым файлом изображения в текущей папке. Это работает на машине с 2 четырехъядерными процессорами Xeon, 16 ГБ оперативной памяти, работающей под управлением RedHat Linux.
Первый сценарий work.pl в основном вызывает magicplate.pl передает некоторые параметры и имя файла для обработки magicplate.pl. Обработка каждого изображения Magic Plate занимает около минуты. Поскольку work.pl выполняет одну и ту же функцию более 100 раз и поскольку система имеет несколько процессоров и ядер, я думал о разделении задачи на части, чтобы она могла выполняться несколько раз параллельно. При необходимости я мог разделить изображения по разным папкам. Любая помощь была бы замечательной. Спасибо
Вот что у меня есть:
use strict;
use warnings;
my @initialImages = <*>;
foreach my $file (@initialImages) {
if($file =~ /.png/){
print "processing $file...\n";
my @tmp=split(/\./,$file);
my $name="";
for(my $i=0;$i<(@tmp-1);$i++) {
if($name eq "") { $name = $tmp[$i]; } else { $name=$name.".".$tmp[$i];}
}
my $exten=$tmp[(@tmp-1)];
my $orig=$name.".".$exten;
system("perl magicPlate.pl -i ".$orig." -min 4 -max 160 -d 1");
}
}