Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?
Гродненский Форум
11 Май 2024, 18:49:42
Новости, реклама:
   Главная   Новости Гродно Помощь Игры Календарь Войти Регистрация   Меню
Гродненский Форум > Компьютеры > Программирование
(Модераторы: Админ, barmalei) > Тема:

PHP параллельное выполнение функций ?

Страниц  :   Вниз
  Печать  
Автор Тема: PHP параллельное выполнение функций ?  (Прочитано 2915 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Fox
Кандидат в депутаты
****

Репутация: +210/-60
Offline Offline

Пол: Мужской
Сообщений: 4840


これ から おせわ に なります

Просмотр профиля WWW
« : 11 Август 2008, 12:10:05 »

Какие есть варианты для параллельного выполнения функций и кусков кода в PHP ?
Задача примерно такая: есть скрипт который обходит страницы потом парсит их и выбирает нужные данные, но делает он это в цикле последовательно - а это медленно получается при большом количестве.
Как сделать так что бы можно было одновременно (параллельно) обратиться к нескольким страницам и получить с них данные и вернуть в основную прогу.
pcntl_ не подходит.
Записан

Fox's server!  
Модератор - это человек, который молится о бесконечном терпении...а мечтает о бесконечных патронах!
iddqd
Лёдчег
Почетный гродненец
*****

Репутация: +170/-10
Offline Offline

Пол: Мужской
Сообщений: 2275


Не уйдешь!

Просмотр профиля
« Ответ #1 : 11 Август 2008, 12:27:04 »

не знаток пхп, нежуто там потокоф нет?
Записан
Fox
Кандидат в депутаты
****

Репутация: +210/-60
Offline Offline

Пол: Мужской
Сообщений: 4840


これ から おせわ に なります

Просмотр профиля WWW
« Ответ #2 : 11 Август 2008, 15:08:03 »

есть, только вот хоть бы кто сказал в какую сторону там копать.
а если есть пример то вообще было бы супер.
Записан

Fox's server!  
Модератор - это человек, который молится о бесконечном терпении...а мечтает о бесконечных патронах!
VooDoo
Почетный гродненец
*****

Репутация: +89/-1
Offline Offline

Пол: Мужской
Сообщений: 2885


Dum spiro spero

Просмотр профиля WWW Email
« Ответ #3 : 11 Август 2008, 15:38:53 »

сам пхп только один раз колупал, но мне хватило.
вот пару ссылок, похожих на правду:

http://www.stableversion.com/node/3
http://anarhist.name/scripts/est-li-mnogopotochnost-v-php/
http://blog.gtalex.ru/mnogopotochnost-v-php
http://www.umaxforum.com/showthread.php?t=20717
Записан

Are you human? - My body is.
Do you feel pain? - My body does.
..- --- --- -.. --- ---
Админ
Administrator
*****

Репутация: +1777/-51
Offline Offline

Пол: Мужской
Сообщений: 5957


Viva la DRF!

S alexey.rads forumgrodno Просмотр профиля Email
« Ответ #4 : 11 Август 2008, 16:02:24 »

Абсолютно согласен с ВуДу: реальной многопоточности в пхп нет.
Либо форки, либо неблокирующие сокеты, либо как особый изврат - параллельный запуск нескольких скриптов с синхронизацией через общий файл.
Записан

Viva la DRF!
Fox
Кандидат в депутаты
****

Репутация: +210/-60
Offline Offline

Пол: Мужской
Сообщений: 4840


これ から おせわ に なります

Просмотр профиля WWW
« Ответ #5 : 11 Август 2008, 19:56:25 »

VooDoo спасибо за ссылки - буду разбираться.
Записан

Fox's server!  
Модератор - это человек, который молится о бесконечном терпении...а мечтает о бесконечных патронах!
mchy
Почетный гродненец
*****

Репутация: +273/-123
Offline Offline

Предупреждения: забанен на неделю
Пол: Мужской
Сообщений: 2027

Просмотр профиля
« Ответ #6 : 11 Август 2008, 21:20:18 »

для данной конкретно задачи можно использовать  curl_multi
Записан

Fox
Кандидат в депутаты
****

Репутация: +210/-60
Offline Offline

Пол: Мужской
Сообщений: 4840


これ から おせわ に なります

Просмотр профиля WWW
« Ответ #7 : 12 Август 2008, 01:08:22 »

нет там curl'а
так что в моем случае подходит вариант "Использование неблокирующих сокетов."
сча попробуем реализовать
Записан

Fox's server!  
Модератор - это человек, который молится о бесконечном терпении...а мечтает о бесконечных патронах!
Фальк
Настоящий гродненец
****

Репутация: +16/-1
Offline Offline

Пол: Мужской
Сообщений: 360


Не дождётесь!

Просмотр профиля WWW
« Ответ #8 : 12 Август 2008, 02:55:50 »

если курла нет, тогда exec('bash -c "exec nohup setsid php 1.php > /dev/null 2>&1 &"');
Записан
Страниц  :   Вверх
  Печать  
 
Перейти в:  

Войти
Войдите, чтобы добавить комментарий

Войдите через социальную сеть

Имя пользователя:
Пароль:
Продолжительность сессии (в минутах):
Запомнить:
Забыли пароль?

Контакт
Powered by MySQL Powered by PHP Мобильная версия
Powered by SMF 1.1.20
SMF © 2006-2024, Simple Machines
Simple Audio Video Embedder
| Sitemap
Valid XHTML 1.0! Valid CSS!
Страница сгенерирована за 0,098 секунд. Запросов: 19.