Size: a a a

2020 March 13

AB

Alex Bubnov in pro.elixir
Михаил Лёсин
а то он начинает его компилить отдельно и конечно же не находит в нем функций которые определены в родительском (в который я хочу его воткнуть)
в лоб это сработает только с текстовыми инклюдами, которых нет и очень хорошо
источник

AB

Alex Bubnov in pro.elixir
можно поиграться с use/__using__, там по идее можно до внешнего контекста добраться
источник

МЛ

Михаил Лёсин in pro.elixir
а как тогда это правильнее реализовать? хочется отделить обработку по типам в отдельные файлы, но в рамках одного генсервера
источник

AB

Alex Bubnov in pro.elixir
вообще, я ощущаю в этом желание порезать на модули с попыткой реализовать не на том уровне
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Серебряная genserver
источник

AB

Alex Bubnov in pro.elixir
не надо пытаться порезать генсервер, раскладывать по модулям нужно функции, которые вызываются в handle_*
источник

МЛ

Михаил Лёсин in pro.elixir
ну иначе получается один гиганский файл в котором сложно ориентироваться
источник

МЛ

Михаил Лёсин in pro.elixir
проблема в том что эти функции в себе вызывают другие функции, которые определены в use App, :channel этого генсервера
источник

МЛ

Михаил Лёсин in pro.elixir
а если этот use вставить в подмодуль, создается по сути новый генсервер
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Так это не генсервер, а канал же. Все ещё не понятно, почему нельзя роутить внутри
источник

SK

Simon Khaskelberg in pro.elixir
Разнести client и server  callbacks в разные модули. Это как минимум можно
источник

МЛ

Михаил Лёсин in pro.elixir
внутри все работает, просто файл огромный
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Есть же какие-то логические разделения в api
источник

МЛ

Михаил Лёсин in pro.elixir
Źmićer Rubinštejn
Так это не генсервер, а канал же. Все ещё не понятно, почему нельзя роутить внутри
с генсервером тоже самое просто, и канал тоже вроде генсервер же
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Или api сделан херово
источник

МЛ

Михаил Лёсин in pro.elixir
в случае канала я могу разделить на отдельные каналы наверное, но у меня также есть генсервер, который должен быть одним процессом, выполняющим операции последовательно, и с ним та же песня
источник

AB

Alex Bubnov in pro.elixir
Михаил Лёсин
проблема в том что эти функции в себе вызывают другие функции, которые определены в use App, :channel этого генсервера
я в общем хз, как там в фениксе что пишется, но проблема явно в чем-то другом.
например в том, что очень перемешана логика и генсервер
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Проблема в том, что слишком жирный генсервер
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Не надо так
источник

МЛ

Михаил Лёсин in pro.elixir
хрен с ним с каналом, есть один генсервер-воркер, и он должен быть одним, обрабатывая кучу разных по типам сообщений в порядке их поступления, и вот я хочу разделить их по типу
источник