![]() |
Модераторы: Aliance, skyboy, MoLeX, ksnk |
![]() ![]() ![]() |
|
Randomm |
|
|||
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 31.8.2007 Репутация: нет Всего: нет |
Проблема.
Есть класс для эмуляции браузера, написанный с использованием курла. То есть там есть например функции get, post и т.п. Есть ряд функций, каждая из которых работает с определённым сайтом, используя эти самые get и post, и между их использованием как-то обрабатывает полученную информацию. Задача. Запустить эти функции в несколько потоков. Сразу напрашивается использование curl_multi, однако тот факт, что в каждой из функций get и post использовано по несколько раз, всё портит. То есть за время работы функции делает curl_init, curl_exec и curl_close. Нашёл на пхп.нет пример работы с мультикурлом: http://ru2.php.net/manual/en/function.curl-multi-exec.php
но я так понимаю, что для моего случая он не подходит, ибо нельзя в поток после curl_close($conn[$i]); добавлять новый curl_init(); Собственно вопрос, как наименьшими жертвами добиться нужного результата? можно ли как-то эти функции запустить в несколько потоков? |
|||
|
||||
Randomm |
|
|||
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 31.8.2007 Репутация: нет Всего: нет |
Прям совсем никто не знает?
|
|||
|
||||
WolfON |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 604 Регистрация: 19.7.2004 Репутация: нет Всего: 8 |
можно запустить несколько экземпляров одного скрипта
|
|||
|
||||
Golda |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 460 Регистрация: 26.3.2007 Где: Ариель, Израиль Репутация: нет Всего: 42 |
А скрипт будет выбирать, например, из базы данных, первый адрес, помеченный как еще не обработанный. -------------------- "For every problem, there exists a simple and elegant solution which is absolutely wrong." -- J. Wagoner, U.C.B. Mathematics |
|||
|
||||
dracs |
|
|||
![]() php Профиль Группа: Участник Сообщений: 7 Регистрация: 10.8.2007 Где: СПб Репутация: нет Всего: нет |
Только если запускаешь несколько экземпляров 1-го скрипта не забывай про куки если ложишь их в файл для дальнейшего использования - каждый скрипт должен хратить в разных куки-файлах. Тоже грабли были.
|
|||
|
||||
Валерия |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 598 Регистрация: 10.3.2007 Репутация: нет Всего: 8 |
Ну вообще идеальный вариант, сделать демона, который запустит несколько копий скрипта, и который будет раздавать через сокеты "задания", а они, когда выполняют, опять садятся на прослушку
![]() Я когдато давно делала такое... Потом забила, нормальные потоки не сделаешь в php ) |
|||
|
||||
sTa1kEr |
|
|||
9/10 программиста ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1553 Регистрация: 21.2.2007 Репутация: нет Всего: 146 |
Еще вариант - не использовать курл, а реализовать все самому на сокетах. Пример http://forum.vingrad.ru/topic-159049.html
|
|||
|
||||
![]() ![]() ![]() |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Сеть | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |