[Moscow.pm] Универсальная параллелилка?
Харпалёв Иван
ivan.kharpalev на gmail.com
Вт Май 27 09:00:41 PDT 2014
Пока ограничился полумерой: распараллеливание обработки файла по кускам.
Действительно очень просто сделалось на BASH:
n=3 f=input; split -l $(wc -l $f | (read l d; echo $(($l/$n+1)) )) $f
#порезали на n кусков построчно
for f in x*; do
perl script.pl $f&
done;
wait; #надо запускать весь код в новом bash, чтобы wait не ждал
какие-нибудь древние процессы.
cat o* > output
не нашёл в man xargs, как параллелить (( --- что имели ввиду?
GNU parallel во истину похоже на решение, но увы нет sudo, чтобы
поставить его в систему.
очень интересно прозвучало про "обернуть потоки в unix-сокеты" -- поясните
чуток, плиз что имеется ввиду или ссылку какую.
Спасибо!
26 мая 2014 г., 20:25 пользователь Antonio Nikishaev <a на lelf.me> написал:
> Харпалёв Иван <ivan.kharpalev на gmail.com> writes:
>
> > Доброго времени суток, могучий MoscowPM!
> >
> > Есть перловый скрипт, который работает в один поток, и на каждую
> > строку из STDIN выводит одну строку в STDOUT.
> >
> > Есть ли какой софт, чтоб можно было написать
>
> GNU parallel
>
> > cat data | perl paralleler.pl -script=very_complex_script.pl -n=8 | .
> > ..
> >
> > Или посоветуйте, как его писать.
> > Как сделать неблокирующее чтение из воркеров в скрипте мастере?
> >
> > Уважение
> > Иван Харпалёв
> --
> Moscow.pm mailing list
> moscow-pm на pm.org | http://moscow.pm.org
>
----------- следущая часть -----------
Вложение в формате HTML было извлечено…
URL: <http://mail.pm.org/pipermail/moscow-pm/attachments/20140527/76ba11bf/attachment.html>
Подробная информация о списке рассылки Moscow-pm