Модераторы: korob2001, ginnie
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Потоки в потоках ? 
:(
    Опции темы
nIkTo
Дата 23.11.2009, 15:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 218
Регистрация: 5.7.2007

Репутация: нет
Всего: нет



Подскажите, что мне использовать (какой модуль). Описываю проблему:

Создаю 50 процессов с помощью fork в каждом процессе возникает такая проблема : надо загрузить robots.txt с 500 до 1000 сайтов, само по себе задание загрузить файл по вебу плёвое, а вот когда оно для 1000 сайтов выполняется последовательно, это очень сильно тормозит процесс, как быть ? снова "форкаться", так на это никакой памяти не хватит =(, вобщем жду умных советов !

Спасибо =)
PM   Вверх
Bulat
Дата 23.11.2009, 15:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


татарский Нео
***


Профиль
Группа: Завсегдатай
Сообщений: 1701
Регистрация: 22.3.2006
Где: Альметьевск

Репутация: 5
Всего: 57



nIkTo, т.е. нужно один и тот же файл загружать в каждом доч. процессе или все же для каждого доч. процесса свой файл??

Если для каждого доч. процесса он одинаков - загружай в самом начале и передавай как параметр - хоть весь файл, хоть часть, хоть хэндл(но с хэндлами поаккуратнее)

А если для каждого свой - даж не знаю, наверно без особых вариантов, нужно опять же подниматься "выше" и решать там. smile


--------------------
менеджер по кодеврайтингу  smile 
PM MAIL WWW   Вверх
nIkTo
Дата 23.11.2009, 15:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 218
Регистрация: 5.7.2007

Репутация: нет
Всего: нет



для каждого процесса отдельный файл с доменами, процесс хавает это файл потом для каждого домена проводит различные операции, потом идёт на Reverse IP получает список доменов хостящися вместе с начальным доменом, и скачивает и анализирует для всех полученых доменов robots.txt
PM   Вверх
arto
Дата 23.11.2009, 16:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1495
Регистрация: 31.10.2004

Репутация: 38
Всего: 40



IO::Multiplex ?
PM MAIL ICQ   Вверх
DurRandir
Дата 23.11.2009, 16:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 335
Регистрация: 27.9.2009

Репутация: 14
Всего: 17



Создать пул фетчеров и пул обработчиков. Ну или бОльшее число пулов, по типам операций. И центрального демона, который всем этим управляет. Но лучше, если вы не упираетесь в cpu, использовать какие-либо мультиплексоры и однопоточное решение. 
PM   Вверх
nIkTo
Дата 23.11.2009, 17:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 218
Регистрация: 5.7.2007

Репутация: нет
Всего: нет



мда, ничего не понял, надо разбираться
PM   Вверх
Bulat
Дата 24.11.2009, 09:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


татарский Нео
***


Профиль
Группа: Завсегдатай
Сообщений: 1701
Регистрация: 22.3.2006
Где: Альметьевск

Репутация: 5
Всего: 57



Цитата(DurRandir @  23.11.2009,  16:40 Найти цитируемый пост)
Создать пул фетчеров и пул обработчиков. Ну или бОльшее число пулов, по типам операций. И центрального демона, который всем этим управляет.


Не думаю, что нужно изобретать нечто подобное, для данных целей.. ИМХО, нужно "подняться на уровень выше" и переделать что-то там, чтобы все не было так ужасно...

Как правило такие проблемы возникают из-за того, что кто-то в свое черям что-то недодумал или поленился додумать... Или уж как вариант действительно мультиплексоры..


--------------------
менеджер по кодеврайтингу  smile 
PM MAIL WWW   Вверх
nIkTo
Дата 24.11.2009, 18:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 218
Регистрация: 5.7.2007

Репутация: нет
Всего: нет



А как думайте разумно будет для этой задачи использовать событийную машину, тоесть создавать 50 процессов, а потом когда сталкиваюсь с задачей одновременных HTTP-запросов к серверам в процессе, использовать событийную машину .... ?
PM   Вверх
Pfailed
Дата 24.11.2009, 22:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 933
Регистрация: 19.7.2009

Репутация: 22
Всего: 39



Может быть воспользоваться WWW::Curl::Multi ?


--------------------
PM MAIL   Вверх
KSURi
Дата 24.11.2009, 23:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 887
Регистрация: 8.6.2006
Где: Russia

Репутация: 20
Всего: 27



Цитата(nIkTo @ 24.11.2009,  18:05)
А как думайте разумно будет для этой задачи использовать событийную машину, тоесть создавать 50 процессов, а потом когда сталкиваюсь с задачей одновременных HTTP-запросов к серверам в процессе, использовать событийную машину .... ?

Вполне


--------------------
Died at Life.pl line 21
PM Jabber   Вверх
mvsgt
Дата 25.11.2009, 15:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 209
Регистрация: 27.3.2009

Репутация: 1
Всего: 1



Есть LWP::Parallel, если не пользоваться проксями то работает.
PM MAIL   Вверх
nIkTo
Дата 25.11.2009, 22:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 218
Регистрация: 5.7.2007

Репутация: нет
Всего: нет



Я так понимаю что LWP::Parallel::UserAgent надо юзать при множественных HTTP-запросах к одному серверу. Это так ?
PM   Вверх
Pfailed
Дата 26.11.2009, 08:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 933
Регистрация: 19.7.2009

Репутация: 22
Всего: 39



Нет.
LWP::Parallel::UserAgent и WWW::Curl::Multi похожи по функциональности, выбирайте.



--------------------
PM MAIL   Вверх
Vaneska
Дата 26.11.2009, 12:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 141
Регистрация: 15.3.2005
Где: Москва

Репутация: 3
Всего: 4



Можно попробовать поиграться вот с этой штукой
http://gearman.org/



--------------------
http://isokolov.blogspot.com/
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl"
korob2001
sharq
  • В этом разделе обсуждаются общие вопросы по языку Perl
  • Если ваш вопрос относится к системному программированию, задавайте его здесь
  • Если ваш вопрос относится к CGI программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", можно скачать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0587 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.