![]() |
Модераторы: korob2001, ginnie |
![]() ![]() ![]() |
|
DooZ |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 206 Регистрация: 25.11.2005 Репутация: нет Всего: 1 |
вопрос
есть пример:
все работает, все ок но если списко урлов будет скажем 10к и более скрипт ОЧЕНЬ-ОЧЕНЬ долго думает (функция _start думает) после чего вылетает с ошибкой типа: Can't locate Net/DNS/RR/A.pm in @INC (@INC contains: /usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.5/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.4/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.3/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.6 /usr/lib/perl5/site_perl/5.8.5 /usr/lib/perl5/site_perl/5.8.4 /usr/lib/perl5/site_perl/5.8.3 /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/5.8.6/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.5/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.4/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.3/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.6 /usr/lib/perl5/vendor_perl/5.8.5 /usr/lib/perl5/vendor_perl/5.8.4 /usr/lib/perl5/vendor_perl/5.8.3 /usr/lib/perl5/vendor_perl /usr/lib/perl5/5.8.6/i386-linux-thread-multi /usr/lib/perl5/5.8.6 .) at (eval 64) line 3. что за бредятина? ставлю допустим 500 ссылок, все ок работает (подумаем чуток и работает) я понимаю, что он думает пока создает очередь запросов, но почему валится при большом кол-ве ссылок? есть идеи как сделать рабочим при большом кол-ве ссылок, может как-то дозированно выдавать ссылки (в рамках одного запуска) заранее сенькс |
|||
|
||||
DooZ |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 206 Регистрация: 25.11.2005 Репутация: нет Всего: 1 |
подозреваю что нужно как-то работать с $kernel->yield( $event, @event_args );
НО тогда не могу понять как перехватывать my ( $heap, $request_packet, $response_packet ) = @_[ HEAP, ARG0, ARG1 ]; вот эти два аргумента ARG0, ARG1 $_[ARG0] уже не пашет $_[0] тоже не пашет есть идеи? |
|||
|
||||
DooZ |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 206 Регистрация: 25.11.2005 Репутация: нет Всего: 1 |
неужели никто не работал с POE ?
|
|||
|
||||
Ramirez |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 305 Регистрация: 18.1.2005 Где: Moscow, ExUSSR Репутация: 4 Всего: 5 |
Похоже так. Я вот тут тоже задавал вопрос - и тишина
![]() |
|||
|
||||
nitr |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2543 Регистрация: 10.2.2006 Где: Россия :) Репутация: 37 Всего: 84 |
а почему бредятина? Что говорит? ![]() ![]() а конкретно :
К POE нет вопросов ![]() ![]() З.Ы.: Проверил твой код с 1211 ссылками работает ![]() Уточни - задача твоего скрипта? Добавлено @ 23:04 Может подскажу ![]() |
|||
|
||||
DooZ |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 206 Регистрация: 25.11.2005 Репутация: нет Всего: 1 |
ты попробуй поставить например 20.000 ссылок или поболее валится или нет? на 1000 ссылках быстро обработал (загнал к себе в память?) |
|||
|
||||
nitr |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2543 Регистрация: 10.2.2006 Где: Россия :) Репутация: 37 Всего: 84 |
Не валится (13778ссылок), но работает небыстро ![]() Выложи в инете список с большим количеством ссылок ![]() |
|||
|
||||
nitr |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2543 Регистрация: 10.2.2006 Где: Россия :) Репутация: 37 Всего: 84 |
проверил скрипт на
скрипт считает количество ссылок ![]() Скрипт с твоми кодом "не отвалился"! Код твой рабочий, но требует оптимизации, не надо провоцировать людей, конкретно спрашивать ![]() Да - он "загоняет" это всё в ОЗУ (281 504Кб) |
|||
|
||||
DooZ |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 206 Регистрация: 25.11.2005 Репутация: нет Всего: 1 |
видимо косяк в модулях действительно
буду искать =) сенькс |
|||
|
||||
DooZ |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 206 Регистрация: 25.11.2005 Репутация: нет Всего: 1 |
возник новый вопрос:
для начала сенькс всем кто учавствовал и учавствует в теме, разобрался дело было в модуле вот есть массив с большим кол-вом ссылок скажем 100к ссылок можно ли как-то сделать, что бы работало в цикле, а именно типа foreach my $url (@url) { POE::Session->create (inline_states => {_start => sub {$_[KERNEL]->post(ua => request => got_response => GET $url);}, got_response => \&client_handle_response}); } НО не как работает в данном варианте (ДОЛГО, ОЧЕНЬ ДОЛГО он думает потом начинает работу) а по мере поступления инфы тобишь получил первую ссылку и погнал ее обрабатывать, в том время как дальше по циклу наполняются остальные т.е. сразу по мере получения начал отрабатывать заранее сенькс |
|||
|
||||
DooZ |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 206 Регистрация: 25.11.2005 Репутация: нет Всего: 1 |
есть идеи?
|
|||
|
||||
DooZ |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 206 Регистрация: 25.11.2005 Репутация: нет Всего: 1 |
ап
|
|||
|
||||
Ramirez |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 305 Регистрация: 18.1.2005 Где: Moscow, ExUSSR Репутация: 4 Всего: 5 |
так ты @url из файла наверное наполняешь? так не гони все это в память. в цикле чтения и запускай обработчиков.
|
|||
|
||||
Nab |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 582 Регистрация: 25.3.2006 Где: Kiev Репутация: 26 Всего: 37 |
Ну что разобрался? Или так и пытаешься все в цикле сделать?
Просто я вот решил изучить POE переписывая свой проксичекер с форков на POE, и выяснил много интересного. А так как строил на тех же примерах, что и у тебя используются, могу подсказать где косяк у тебя ![]() У меня другая немного проблема, потому как я всеже не по ссылкам лажу, хотя это тоже предстоит, я проверяю один адрес, но через разные прокси, соответственно большую нагрузку могу создать, поэтому ограничиваю свой поток запросов. Но все одно, через некоторое время стабильно 500 ошибка ![]() ![]() -------------------- Чтобы правильно задать вопрос нужно знать больше половины ответа... Perl Community FREESCO in Ukraine |
|||
|
||||
tishaishii |
|
|||
![]() Создатель ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1262 Регистрация: 14.2.2006 Где: Москва Репутация: 4 Всего: 8 |
А шо воно такоэ?
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "Perl" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Perl: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |