![]() |
|
Модераторы: korob2001, ginnie |
![]()
|
|
| nIkTo |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 218 Регистрация: 5.7.2007 Репутация: нет Всего: нет |
Подскажите, что мне использовать (какой модуль). Описываю проблему:
Создаю 50 процессов с помощью fork в каждом процессе возникает такая проблема : надо загрузить robots.txt с 500 до 1000 сайтов, само по себе задание загрузить файл по вебу плёвое, а вот когда оно для 1000 сайтов выполняется последовательно, это очень сильно тормозит процесс, как быть ? снова "форкаться", так на это никакой памяти не хватит =(, вобщем жду умных советов ! Спасибо =) |
|||
|
||||
| Bulat |
|
|||
![]() татарский Нео ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1701 Регистрация: 22.3.2006 Где: Альметьевск Репутация: 5 Всего: 57 |
nIkTo, т.е. нужно один и тот же файл загружать в каждом доч. процессе или все же для каждого доч. процесса свой файл??
Если для каждого доч. процесса он одинаков - загружай в самом начале и передавай как параметр - хоть весь файл, хоть часть, хоть хэндл(но с хэндлами поаккуратнее) А если для каждого свой - даж не знаю, наверно без особых вариантов, нужно опять же подниматься "выше" и решать там. -------------------- менеджер по кодеврайтингу |
|||
|
||||
| nIkTo |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 218 Регистрация: 5.7.2007 Репутация: нет Всего: нет |
для каждого процесса отдельный файл с доменами, процесс хавает это файл потом для каждого домена проводит различные операции, потом идёт на Reverse IP получает список доменов хостящися вместе с начальным доменом, и скачивает и анализирует для всех полученых доменов robots.txt
|
|||
|
||||
| arto |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1495 Регистрация: 31.10.2004 Репутация: 38 Всего: 40 |
IO::Multiplex ?
|
|||
|
||||
| DurRandir |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 335 Регистрация: 27.9.2009 Репутация: 14 Всего: 17 |
Создать пул фетчеров и пул обработчиков. Ну или бОльшее число пулов, по типам операций. И центрального демона, который всем этим управляет. Но лучше, если вы не упираетесь в cpu, использовать какие-либо мультиплексоры и однопоточное решение.
|
|||
|
||||
| nIkTo |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 218 Регистрация: 5.7.2007 Репутация: нет Всего: нет |
мда, ничего не понял, надо разбираться
|
|||
|
||||
| Bulat |
|
|||
![]() татарский Нео ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1701 Регистрация: 22.3.2006 Где: Альметьевск Репутация: 5 Всего: 57 |
Не думаю, что нужно изобретать нечто подобное, для данных целей.. ИМХО, нужно "подняться на уровень выше" и переделать что-то там, чтобы все не было так ужасно... Как правило такие проблемы возникают из-за того, что кто-то в свое черям что-то недодумал или поленился додумать... Или уж как вариант действительно мультиплексоры.. -------------------- менеджер по кодеврайтингу |
|||
|
||||
| nIkTo |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 218 Регистрация: 5.7.2007 Репутация: нет Всего: нет |
А как думайте разумно будет для этой задачи использовать событийную машину, тоесть создавать 50 процессов, а потом когда сталкиваюсь с задачей одновременных HTTP-запросов к серверам в процессе, использовать событийную машину .... ?
|
|||
|
||||
| Pfailed |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 933 Регистрация: 19.7.2009 Репутация: 22 Всего: 39 |
Может быть воспользоваться WWW::Curl::Multi ?
|
|||
|
||||
| KSURi |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 887 Регистрация: 8.6.2006 Где: Russia Репутация: 20 Всего: 27 |
Вполне -------------------- Died at Life.pl line 21 |
|||
|
||||
| mvsgt |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 209 Регистрация: 27.3.2009 Репутация: 1 Всего: 1 |
Есть LWP::Parallel, если не пользоваться проксями то работает.
|
|||
|
||||
| nIkTo |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 218 Регистрация: 5.7.2007 Репутация: нет Всего: нет |
Я так понимаю что LWP::Parallel::UserAgent надо юзать при множественных HTTP-запросах к одному серверу. Это так ?
|
|||
|
||||
| Pfailed |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 933 Регистрация: 19.7.2009 Репутация: 22 Всего: 39 |
Нет.
LWP::Parallel::UserAgent и WWW::Curl::Multi похожи по функциональности, выбирайте. |
|||
|
||||
| Vaneska |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 141 Регистрация: 15.3.2005 Где: Москва Репутация: 3 Всего: 4 |
--------------------
http://isokolov.blogspot.com/ |
|||
|
||||
![]()
|
| Правила форума "Perl" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Perl: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |