2016-06-07 18:05 GMT+03:00 Александр Фролов <[email protected]>:
> Но я никак не могу придумать, как мне архитектурно обеспечить прием
> callback-вызов от от внешнего сервиса в своем сервере Mojolicious::Lite, и
> затем передать их по заранее установленному каналу WebSockets в браузер.
>

Пара вариантов навскидку.
1. Держать в приложении "инфу" о вебсокет-сессиях. Когда приходит
колбек, в контроллере вытаскивать нужную вебсокет-сессию из "инфы" и
для неё отправлять необходимые данные. Одна из задач, которую здесь
придётся решить - подчищать за собой "инфу", когда пользователь
закрывает браузер (сессия рвётся/завершается).
2. Взять Mojo::EventEmitter. В контроллере вебсокет-сессии подписаться
на событие. В контроллере колбека - генерировать событие. Надо только
посмотреть, все ли подписчики получат уведомление или только первый,
но предполагаю, что все. Дальше действуем как в первом случае.



-- 
//wbr, Dmitry L.
-- 
Moscow.pm mailing list
[email protected] | http://moscow.pm.org

Ответить