Привет, у меня есть простой скрипт, который берет файл и запускает другой скрипт на Perl.Сценарий делает это для каждого файла изображения в текущей папке.Это работает на машине с 2-х ядерными процессорами Xeon, 16 Гб оперативной памяти, работающей под управлением RedHat Linux.
Первый скрипт work.pl в основном вызывает magicplate.pl, передает некоторые параметры и имя файла для обработки magicplate.pl.Волшебная тарелка обрабатывает каждое изображение примерно минуту.Поскольку 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");
}
}