Size: a a a

2020 September 19

LW

Lev Walkin in ErlangRus
посмотрел, нет ли null-алгоритм проблемы (прошла волной по криптокомьюнити несколько лет назад). всё норм, чистенько!
источник

AN

Alexey Nikitin in ErlangRus
Lev Walkin
посмотрел, нет ли null-алгоритм проблемы (прошла волной по криптокомьюнити несколько лет назад). всё норм, чистенько!
от души ❤️
источник

c

corsars in ErlangRus
Lev Walkin
посмотрел, нет ли null-алгоритм проблемы (прошла волной по криптокомьюнити несколько лет назад). всё норм, чистенько!
Вы меня радуете таким подходом :-)
источник
2020 September 21

V

Vasilii Demidenok in ErlangRus
Гайз у erlang rpc есть чтонибудь легковесное из коробки чтобы не упираться в один rpc генсервер?
источник

V

Vasilii Demidenok in ErlangRus
мне казалось чтото было анонсированно недавно 🤔
источник

AK

Aleksey Kluchnikov in ErlangRus
обещали вроде расширить это узкое место, не сделали еще?
источник

V

Vasilii Demidenok in ErlangRus
мне правда все равно из 22 эрланга вызывать:(
источник

V

Vasilii Demidenok in ErlangRus
т е если апи тот же - то проблем не будет
источник

𝕊

𝕊𝕖𝕣𝕘𝕖𝕚... in ErlangRus
Vasilii Demidenok
Гайз у erlang rpc есть чтонибудь легковесное из коробки чтобы не упираться в один rpc генсервер?
Erpc, но я его сам не смотрел ещё
источник

V

Vasilii Demidenok in ErlangRus
для erpc и там и там должен быть otp 23 не ниже
источник

ML

Maksim Lapshin in ErlangRus
Vasilii Demidenok
Гайз у erlang rpc есть чтонибудь легковесное из коробки чтобы не упираться в один rpc генсервер?
У тебя не получается воспользоваться rpc как фабрикой?
источник

V

Vasilii Demidenok in ErlangRus
Не очень понял твой вопрос про фабрику..

Стандартный rpc из коробки всё выполняет в одном ген-сервере если память не изменяет, интересовался есть ли варианты как-то извратится и получить хотя бы парочку, поскольку не уверен что не заддосю ноду. Мне это не для продакшена, а для сбора статистики с тестов побыстрому на коленке
источник

ML

Maksim Lapshin in ErlangRus
Vasilii Demidenok
Не очень понял твой вопрос про фабрику..

Стандартный rpc из коробки всё выполняет в одном ген-сервере если память не изменяет, интересовался есть ли варианты как-то извратится и получить хотя бы парочку, поскольку не уверен что не заддосю ноду. Мне это не для продакшена, а для сбора статистики с тестов побыстрому на коленке
Вот я про это и говорю: спроси через rex пид нужного воркера и работай с ним
источник

V

Vasilii Demidenok in ErlangRus
типо такого ты имеешь ввиду?
rpc:call(Node, my_module, get_pid, []),
Pid ! bla-bla
источник

V

Vasilii Demidenok in ErlangRus
или что-то родное есть?
источник

V

Vasilii Demidenok in ErlangRus
но вообще да, почему бы собственно и не сделать как раз. Чот даже в голову не пришло =) пасиб
источник

ML

Maksim Lapshin in ErlangRus
Vasilii Demidenok
типо такого ты имеешь ввиду?
rpc:call(Node, my_module, get_pid, []),
Pid ! bla-bla
Ну да. Пид можно сохранить например
источник

AB

Alexander Beniaminov in ErlangRus
Vasilii Demidenok
Не очень понял твой вопрос про фабрику..

Стандартный rpc из коробки всё выполняет в одном ген-сервере если память не изменяет, интересовался есть ли варианты как-то извратится и получить хотя бы парочку, поскольку не уверен что не заддосю ноду. Мне это не для продакшена, а для сбора статистики с тестов побыстрому на коленке
Ну если на коленке )), то есть древний и примитивный код исползующий простой spawn , (erpc работает по тому же принципу, используя межнодовый spawn_monitor )
-module(trpc).

-export([apply/4, apply_server/0]).

apply_server() ->
   receive
       {{CallerPid, Ref}, {Module, Func, Args}} ->
           Result = apply(Module, Func, Args),
           CallerPid ! {Ref, Result}
   end.

apply(Node, Module, Fun, Args) when Node =/= node() ->
   monitor_node(Node, true),
   RemotePid = spawn(Node, ?MODULE, apply_server, []),
   Ref = make_ref(),
   RemotePid ! {{self(), Ref}, {Module, Fun, Args}},
   receive
       {Ref, Result} ->
           monitor_node(Node, false),
           Result;
       {nodedown, Node} ->
           {error, nodedown}
   end;

apply(Node, Module, Fun, Args) when Node =:= node() ->
  erlang:apply(Module, Fun, Args).
источник

ML

Maksim Lapshin in ErlangRus

-record(nested_rec, {
 key :: integer()
}).

-type nested_rec() :: #nested_rec{}.

-record(outer_rec, {
 nested :: nested_rec()
}).

outer_rec(_) ->
 #outer_rec{nested = #nested_rec{key = 10}} = type_mapper:map2record(?MODULE, outer_rec, #{<<"nested">> => #{<<"key">> => 10}}),
 ok.


вроде ничего так выходит.

Входящий json получается разбирать по тайпспеке в рекорды, включая вложенные
источник

AN

Alexey Nikitin in ErlangRus
Maksim Lapshin

-record(nested_rec, {
 key :: integer()
}).

-type nested_rec() :: #nested_rec{}.

-record(outer_rec, {
 nested :: nested_rec()
}).

outer_rec(_) ->
 #outer_rec{nested = #nested_rec{key = 10}} = type_mapper:map2record(?MODULE, outer_rec, #{<<"nested">> => #{<<"key">> => 10}}),
 ok.


вроде ничего так выходит.

Входящий json получается разбирать по тайпспеке в рекорды, включая вложенные
источник