yii-node-socket icon indicating copy to clipboard operation
yii-node-socket copied to clipboard

Problem with Elephant.io - usleep

Open Xakki opened this issue 10 years ago • 6 comments

Библиотека Elephant.io использует не хороший фикс в методе \ElephantIO\Client::write

usleep(100 * 1000);

При каждой передаче сообщения используется задержка в 100mc - и в моем случае получилось так что я в разных местах отправляю сообщения через сокет (не через MultipleFrame) и эти таймауты накладываются( Если отключить sleep, то больше 50% сообщений не доходят. Как решить эту проблему нормально?

пс / Пока буду копать в сторону других библиотек.

Xakki avatar Nov 12 '14 10:11 Xakki

а использовать MultipleFrame не получится?

oncesk avatar Nov 12 '14 12:11 oncesk

В MultipleFrame все равно есть задержка в 100мс - это не приемлемо!

Xakki avatar Nov 12 '14 13:11 Xakki

без задержки не будет работать, как вы хотите что бы было?

oncesk avatar Nov 12 '14 13:11 oncesk

Если задержку убрать не получиться (копаю в сторону stream_socket_client), то буду писать в очередь и оттуда отдельным скриптом рассылать. Требования - моментальная отработки скрипта отправки сообщения!

Xakki avatar Nov 12 '14 14:11 Xakki

может быть вам в сторону nginx pub/sub модуля посмотреть?

oncesk avatar Nov 12 '14 19:11 oncesk

еще можете глянуть https://github.com/ratchetphp/Ratchet или https://github.com/kakserpom/phpdaemon

oncesk avatar Nov 12 '14 19:11 oncesk