![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| SneG0K |
|
||||
|
Max Mara ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1887 Регистрация: 1.12.2007 Где: Wis Dells Репутация: 7 Всего: 54 |
В общем стандартный код. Если вдруг по каким-либо причинам one_result = false можно ли отправить запрос еще раз? Но только один раз или два. Добавлено через 3 минуты и 26 секунд Т.е. могу ли я использовать еще раз $ch? Просто если я пишу так
то у меня получается еще меньше результатов, чем было до этого |
||||
|
|||||
| cia |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 207 Регистрация: 15.1.2007 Репутация: 4 Всего: 4 |
Используйте curl_multi_remove_handle, затем curl_multi_add_handle и curl_multi_exec для перезапуска запроса.
|
|||
|
||||
| SneG0K |
|
|||
|
Max Mara ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1887 Регистрация: 1.12.2007 Где: Wis Dells Репутация: 7 Всего: 54 |
cia, т.е. обработка запроса будет выполнена в этом-же цикле?
|
|||
|
||||
| enoff |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 297 Регистрация: 30.6.2010 Где: Санкт-Петербург Репутация: 11 Всего: 13 |
По задаче топика - как-то решилась через повторный вызов curl_multi_exec(), точно уже не помню, но работало это жутко нестабильно, реализовано криво, etc..
а вообще, больная тема... вобщем, я остановился на мнении, что multiCurl не очень то подходит в качестве решения для "многопоточности". оговорюсь сразу - объемы - обычно несколько тысяч страниц за один запуск + дальнейшая обработка (с дальнейшим добавлением потоков). Проблем море. 1. Курл сохраняет куки в файл только после того, как закончит работу, что меня в корне не устраивало, так как "дочерним" потокам нужны куки родителей. Пришлось лепить 2. Не добавить по человечески потоки не лету. 3. Курл сам по себе жрет много памяти и еще нужно следить за каждой переменной. Подход, из-за которого в большинстве своем у PHP такая "слава", не прокатит. Нужен глаз да глаз. И memory_limit="вся моя оперативка" не спасет, еще один намек на быдлокодинг. 4. На винде работает не совсем так, как хотелось бы. Возможно виной тому ПО заказчика - xp, денвер и curl.dll, скачанная с айфолдера и т.д. Но разбираться со всякими аномалиями нет никакого желания. etc... Решил написать набор классов на основе неблокирующих сокетов или потоков, но застопорился на том, что не получалось никак сжатую страницу привести к нормальному виду. Запись в файл и дальнейшее чтение не подходит, а перекодировать на лету - непонятные функции, для которых даже в мане еще не было описания. Ну так и забросил это дело, времени не хватает. Все не соберусь сесть за это дело. Другие же способы, по типу форкать процессы, запускать бекграундом через системный вызов - винда отпадает (хотя давно уже забил на нее в плане разработки), и памяти жрется еще больше, все тормозит, проблема с выводом информации, макс. полтора потока, иначе вообще ниче работать не будет и т.д. сорри за оффтоп. |
|||
|
||||
| SneG0K |
|
|||
|
Max Mara ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1887 Регистрация: 1.12.2007 Где: Wis Dells Репутация: 7 Всего: 54 |
Мне тоже курл не сильно нравится, но в данном контексте, с данным бюджетом...
|
|||
|
||||
| uzverok |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 20.2.2009 Репутация: нет Всего: нет |
Доброго времени суток! Возникла такая же проблема с курлом, не могу добавить динамически потоки, пробовал использовать curl_multi_add_handle и curl_multi_exec после закрытия очередного потока, но он просто игнорирует новые задания, в чем может быть причина?
|
|||
|
||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |