Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Создать многопоточное выполнение php-сценария 
:(
    Опции темы
McOuni
Дата 29.12.2004, 10:49 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Есть скрипт, который коннектится к удаленным серверам по очереди и записывает полученные от них ответы в базу MYSQL.

На данный момент я юзаю стандартный метод с циклом while и fsockopen. Но скорость работы моего скрипта с таким алгоритмом невелика, поскольку при каждом цикле скрипт, формируя запрос и запрашивая данные с удаленого сервера теряет время впустую ожидая ответа.

Было бы на много быстрее сделать например 10 запросов одновременно через сокеты и их обрабатывать.
Вот только никак не могу сочинить алгоритм, как это все организовать.

При этом, нужно как-то рассчитать, чтобы скрипт запоминал каждый запрос, тоесть чтобы эти 10 одновременных подключений не запрашивали одно и то же, а заносили полученные данные в MYSQL в порядке очереди.
Нид Хелп! Помогите. Helppp Как еще попросить, я не знаю, по скоку я в полном отчаянии smile
  Вверх
Наставник
Дата 29.12.2004, 15:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 327
Регистрация: 4.11.2004

Репутация: 2
Всего: 15



Здравствуй McOuni.
1.
Цитата(McOuni @ 29.12.2004, 10:49)
На данный момент я юзаю стандартный метод с циклом while и fsockopen

Не очень понял, зачем вы используете fsockopen, когда удаленно можно подключиться к любому MYSQL серверу простой функцией mysql_connect("","",""); где просто указать ip-компьютера, на котором стоит MYSQL сервер - вроде должно работать.
2. также, для того чтобы не все время подключаться к БД MYSQL, а держать подключение перманентным (т.е. постоянным), можно использовать ф-ю mysql_pconnect("","","");

3. SQL язык БД MYSQL сервера, позволяет передавать в одном запросе, несколько запросов, т.е.
Одиночная вставка:
INSERT INTO name_table VALUES(value1,value2,...);
Множественная вставка за одни запрос:
INSERT INTO name_table VALUES(value1,value2,...),(value1,value2,...)(value1,value2,...); - 3 вставки.

Успехов.



--------------------
Богатство языка определяет широту мысли
Персональный сайт >>
PM MAIL WWW   Вверх
Sardar
Дата 29.12.2004, 16:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 4
Всего: 317



Может это тебе поможет: http://www.php.net/manual/en/ref.pcntl.php


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
penizillin
Дата 29.12.2004, 19:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 312
Регистрация: 10.11.2004

Репутация: 8
Всего: 9



Наставник: на тему 1 - внимательно прочитайте первое предложение McOuni. можно вслух, медленно. номер два отпадает. номер три, вроде как совсем не в тему.

McOuni: насколько я знаю, многопоточность организуется инструментами ос. поэтому вы можете (в зависимости от вашей системы) запустить несколько потоков, которые временно буферизируют результаты (например в бд), откуда они в нужной вам последовательности обрабатываются после завершения опросов.
Добавлено @ 19:41
Sardar очень интересный линк подсказал.
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1384 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.