У меня полная фигня какая-то. Я пытаюсь использовать Erlang Ls самый популярный для VSCode, и он просто падает. А когда беру менее популярный - он не резолвит include_lib, а вот include как раз резолвит.
Но, кстати, ребаром все собирается, но почему-то на других проектах у меня таких проблем нету
Имею на 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 ... В какую сторону копать?
У меня полная фигня какая-то. Я пытаюсь использовать Erlang Ls самый популярный для VSCode, и он просто падает. А когда беру менее популярный - он не резолвит include_lib, а вот include как раз резолвит.
Но, кстати, ребаром все собирается, но почему-то на других проектах у меня таких проблем нету
erlang_ls в этом плане жутко недоделан, там просто нет резолва папок по модели ребара.
Имею на 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 ... В какую сторону копать?