Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Длинная обработка на websocket сервере

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: Можно ли распараллелить долгое выполнение обработчика на сокет сервере
jan
Отправлено: 05 Июля, 2018 - 12:02:27
Post Id


Новичок


Покинул форум
Сообщений всего: 5
Дата рег-ции: Май 2018  


Помог: 0 раз(а)




Добрый день! Настроил websocket сервер по аналогии с примерами в статьях, где в бесконечном цикле идет добавление обработка новых соединений. Но теперь мне на каждый запрос клиента необходимо в течение 5 минут делать периодические запросы в БД и только после этого отдавать результат клиенту. Из-за того, что запросы в цикле обрабатываются друг за другом, все новые запросы встают в очередь за каждым таким долгим запросом. Каким методом можно правильнее всего реализовать распараллеливание обработку этих запросов? Примеры простых чатов мне не помогли, т.к. там обычно задается конечное число участников одного чата, а здесь каждый клиент не связан с другим и их количество на данный момент всегда неизвестно.
 
 Top
andrewkard
Отправлено: 05 Июля, 2018 - 14:42:39
Post Id


Участник


Покинул форум
Сообщений всего: 1372
Дата рег-ции: Нояб. 2014  


Помог: 30 раз(а)




jan пишет:
Но теперь мне на каждый запрос клиента необходимо в течение 5 минут делать периодические запросы в БД

такое время ожидания нереальное, сдается клиенты могут не дождаться просто...
Оптимизируйте работу с БД
 
 Top
jan
Отправлено: 05 Июля, 2018 - 14:50:58
Post Id


Новичок


Покинул форум
Сообщений всего: 5
Дата рег-ции: Май 2018  


Помог: 0 раз(а)




andrewkard пишет:
jan пишет:
Но теперь мне на каждый запрос клиента необходимо в течение 5 минут делать периодические запросы в БД

такое время ожидания нереальное, сдается клиенты могут не дождаться просто...
Оптимизируйте работу с БД


Наоборот, это ожидание сервера в ответ на действия клиента. Оптимизировать нечего в данном случае, на исполнение цикла специально выставляется 5 минут (чтобы клиент успел отправить СМС на сервер).

(Отредактировано автором: 05 Июля, 2018 - 14:53:37)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB