Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Разное - Perl * Распараллелить закачку

Ответить
Настройки темы
Разное - Perl * Распараллелить закачку

Ветеран


Сообщения: 1404
Благодарности: 135

Профиль | Отправить PM | Цитировать


Как распараллелить закачку?


Код: Выделить весь код
# словарь сайтов

$i = 'a';

$fl="E:/Perl/bin/";

sub r
{
$i++;
print $_[0];
print "\n";

$link= "http://$i.ru";
$fl2 = $fl . $i . ".ru.htm";
system("lwp-download $link $fl2");

$link= "http://$i.net";
$fl2 = $fl . $i . "net.htm";
system("lwp-download $link $fl2");

$link= "http://$i.org";
$fl2 = $fl . $i . "org.htm";
system("lwp-download $link $fl2");

$link= "http://$i.com";
$fl2 = $fl . $i . "com.htm";
system("lwp-download $link $fl2");

r($i);
}

r($i);

Отправлено: 17:56, 22-05-2015

 

Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Не:
Цитата:
Аргументом функции system может быть все, что пригодно для передачи в /bin/sh, поэтому можно задавать сразу несколько команд, разделяя их точками с запятой или символами новой строки. Процесси, после которих указан символ &, запускаются, но программа не ждет их завершення, т.е. в данном случае все происходит аналогично тому, как если бы вы ввели в shell строку, которая заканчивается символом &.
?!

Отправлено: 21:13, 22-05-2015 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Ветеран


Сообщения: 1404
Благодарности: 135

Профиль | Отправить PM | Цитировать


Попробовал следующий способ.


Код: Выделить весь код
use threads;

# словарь сайтов

$i = 'sr';

$fl="E:/Perl/bin/";

sub t1
{
my ($i) = @_;
$link= "http://$i.ru";
$fl2 = $fl . $i . ".ru.htm";
system("lwp-download $link $fl2");
}

sub t2
{
my ($i) = @_;
$link= "http://$i.net";
$fl2 = $fl . $i . "net.htm";
system("lwp-download $link $fl2");
}

sub t3
{
my ($arg) = @_;
$link= "http://$i.org";
$fl2 = $fl . $i . "org.htm";
system("lwp-download $link $fl2");
}


sub t4
{
my ($arg) = @_;
$link= "http://$i.com";
$fl2 = $fl . $i . "com.htm";
system("lwp-download $link $fl2");
}


sub r
{
$i++;
print $_[0]."\n";

threads->new(\&t1, $i);
threads->new(\&t2, $i);
threads->new(\&t3, $i);
threads->new(\&t4, $i);

sleep 30;

r($i);
}

r($i);
https://nopox.wordpress.com/2007/11/...n-perl-part-2/

-------
Ehhh.. what's up, doc?..


Последний раз редактировалось mrcnn, 23-05-2015 в 07:37.


Отправлено: 07:18, 23-05-2015 | #3



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Разное - Perl * Распараллелить закачку

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Теория - Распараллелить программу на ~20 компьютеров Pascal Pavluha Программирование и базы данных 5 16-09-2013 16:48
Как автоматизировать закачку музыки с ВК rel Хочу все знать 2 09-11-2011 00:07
Suse/OpenSuSE - [решено] как отключить закачку обновлений pva Общий по Linux 7 14-03-2010 23:59
Ограничение доступа на закачку файлов pauluss Вебмастеру 4 26-08-2005 08:49
FreeBSD 5.3 Perl не видит локали, а KDE при сборке не видит perl :o mar Общий по FreeBSD 8 06-05-2005 13:13




 
Переход