Использовать YII для обмена данными через Websockets

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
Prooksius
Сообщения: 100
Зарегистрирован: 2019.01.17, 23:24

Использовать YII для обмена данными через Websockets

Сообщение Prooksius »

Всем привет.
Есть такая система. На Vps крутится сервер соединения по websockets. На Workerman.
Сделана система по типу REST API, но по websoсkets, можно посылать какие-то команды, по ним будут отдаваться какие-то данные.
Хотелось бы, чтобы эти данные брались из проекта на YII.
То есть Вот мы запустили вот этот websockets сервер, он инициализировал YII и при обращении к серверу с каким-то запросом он бы вызывал какой-то функционал из YII-проекта и отдавал нужные данные.
Понятно, что тут уже не будет стандартных REST API контроллеров, но они как бы и не нужны. Уже сделал что-то типа контроллера, который разруливает все websockets-запросы и определяет, что надо делать. Сделал аналог Rate Limiter-а, который отрубает при слишком частых запросах и банит, если несколько раз пытаются так делать.
По сути единственное - нужно использовать систему Active Record, встроенную в YII (вместе с событиями типа Before Save, After Save и т.д.) и также построитель запросов. То есть по сути использовать бизнес-логику проекта.

Подскажите, как в таком случае правильно инициализировать Yii, вот для такого длительного использования, а не как в REST API - зашел - достал данные - вышел. Соединение закрылось.
И самый главный вопрос - возможно ли такое вообще?
Ответить