Size: a a a

2019 April 01

Е

Евгений in pro.elixir
ошибся, ща еще раз
источник

Е

Евгений in pro.elixir
я вызываю через рпц функцтю, а она делает Registry.register
источник

Е

Евгений in pro.elixir
генсервер вотричен
источник

Е

Евгений in pro.elixir
потом после регистрации делаю вызов в генсервер, а он позже достает из тогоже регистри from и делает ему reply. будет работать?
источник

a

atanych in pro.elixir
Парни вопрос:

Использовать Глобал супервизоры - это хорошая практика ?
источник

a

atanych in pro.elixir
В этом кейсе есть несколько недостатков, например кастомный список супервизоров для одной из нод
источник

a

atanych in pro.elixir
Либо нельзя добавить в супервизор воркер, пока эта «кастомная нода» не войдёт в кластер
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Евгений
потом после регистрации делаю вызов в генсервер, а он позже достает из тогоже регистри from и делает ему reply. будет работать?
Смотри сюда:

Dmitrys-MBP-2:~ virviil$ iex --sname foo
Erlang/OTP 21 [erts-10.0] [source] [64-bit] [smp:4:4] [ds:4:4:10] [async-threads:1] [hipe]

Interactive Elixir (1.8.1) - press Ctrl+C to exit (type h() ENTER for help)
iex(foo@Dmitrys-MBP-2)1> Node.list
[]
iex(foo@Dmitrys-MBP-2)2> defmodule Test do
...(foo@Dmitrys-MBP-2)2> def get_pid do
...(foo@Dmitrys-MBP-2)2> self()
...(foo@Dmitrys-MBP-2)2> end
...(foo@Dmitrys-MBP-2)2> end
{:module, Test,
<<70, 79, 82, 49, 0, 0, 4, 44, 66, 69, 65, 77, 65, 116, 85, 56, 0, 0, 0, 131,
  0, 0, 0, 14, 11, 69, 108, 105, 120, 105, 114, 46, 84, 101, 115, 116, 8, 95,
  95, 105, 110, 102, 111, 95, 95, 7, 99, ...>>, {:get_pid, 0}}


На второй ноде
Dmitrys-MBP-2:~ virviil$ iex --sname bar
Erlang/OTP 21 [erts-10.0] [source] [64-bit] [smp:4:4] [ds:4:4:10] [async-threads:1] [hipe]

Interactive Elixir (1.8.1) - press Ctrl+C to exit (type h() ENTER for help)
iex(bar@Dmitrys-MBP-2)1> :observer.start
:ok
iex(bar@Dmitrys-MBP-2)2> Node.list
[:"foo@Dmitrys-MBP-2"]
iex(bar@Dmitrys-MBP-2)3> :rpc.ca
call/4    call/5    cast/4    
iex(bar@Dmitrys-MBP-2)3> :rpc.call(hd(Node.list), Test, :get_pid, [])
#PID<13566.135.0>
iex(bar@Dmitrys-MBP-2)4> self()
#PID<0.107.0>
iex(bar@Dmitrys-MBP-2)5> :rpc.call(hd(Node.list), Test, :get_pid, []) == self
false
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Говорю ему - попробуй все поймешь
источник

ŹR

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

Е

Евгений in pro.elixir
то есть виа тут не причем, оно вообще не будет работать
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Вопрос в АПИ
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Это та причина, по которой он не работает
источник

Е

Евгений in pro.elixir
Źmićer Rubinštejn
А почему должно быть по другому?
тогда к чему это было сказано?
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Если бы Registry.register принимал бы в качестве параметра пид - то все бы работало
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Евгений
точнее говоря если мониторить процесс из одной ноды процессом из другой, оно само чудесным образом будет пересылать сообщения о завершении процесса?
К вот этому
источник

Е

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

Е

Евгений in pro.elixir
я в общем-то не спорю, но иногда хочется проверить
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Мой код доказывает, что rpc создает новый процесс
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Потому что так работает ОТП
источник