AB
Elixir-новичкам помогают тут?
Имею на erlang+cowboy рабочее приложение подменяющее асинхронное взаимодействие синхронным:
1. принял запрос с фронт устройства/браузера X в cowboy
2. отправил http-запрос во внешнюю систему Y, получил в ответе ref
3. сохранил PID-коннекта с X и ref от Y в ETS-таблице {ref_from_y, pid_from_x}
4. через cowboy_loop handler вывешиваю соединение(=процесс X) для ожидания ответа от внешней системы Y
5. Внешняя система Y шлет в cowboy http-запрос с ref
6. В ETS по ref ищу PID-процесса который держит коннект с устройством X
7. шлю сообщение в указанный процесс PID ! {some_msg_fromY} на фронт/устройство
Есть задача перейти на Elixir/Phoenix.
Вопрос: какой инструмент/модуль Elixir/Phonenix использовать для построения такого взаимодействия?
Почитал про Task/Agent/Job/Flow - ни один не подходит. Все равно приходится ETS + Process.send использовать как в erlang ... В какую сторону копать?
если не вдаваться в подробности, я бы рекомендовал либо использовать голый ковбой, либо запатчить plug на проброс и обработку implementation-specific возвратов из хэндлера, позволяющих даунгрейд до голого ковбоя.