Size: a a a

2020 February 11

AK

Aleksey Kluchnikov in ErlangRus
rpc, spawn, ! RemotePid, чем еще можно послать?
источник

SP

Sergey Prokhorov in ErlangRus
ну т.е. если ты из шелла сделал spawn('a@boss',fun() -> erlang:display(hello) end). то на удалённую ноду передастся "выполни erl_eval:ast(FunAST, FreeVars)" а не "выполни fun"
источник

СИ

Сергей Иванов in ErlangRus
вот тоже проблема что shell ненастоящий repl
источник

AK

Aleksey Kluchnikov in ErlangRus
да, согласен. с шелом кака
источник

AK

Aleksey Kluchnikov in ErlangRus
и какие нибудь лагерные логи фиг потестишь
источник

DZ

Danil Zagoskin in ErlangRus
Aleksey Kluchnikov
и какие нибудь лагерные логи фиг потестишь
А при чём тут шелл?
Это лагер сделан через жопу, вроде как.
источник

EM

Evgeny M. in ErlangRus
без шелла если на разных нодах есть одель с одной и той же функцией можно передать фун из йункции, но будет вызван код из той версии модуля, который лежит на удаленной ноде
источник

EM

Evgeny M. in ErlangRus
сейчас еще проверю передаются ли переменные в замыкании
источник

DZ

Danil Zagoskin in ErlangRus
Danil Zagoskin
А при чём тут шелл?
Это лагер сделан через жопу, вроде как.
Было бы странно делать parse_transform на каждую команду
источник

AK

Aleksey Kluchnikov in ErlangRus
Evgeny M.
без шелла если на разных нодах есть одель с одной и той же функцией можно передать фун из йункции, но будет вызван код из той версии модуля, который лежит на удаленной ноде
угу, и они долны быть одинаковые, модули эти. А это плохо. При обновлении по сути надо все приостанавливать
источник

EM

Evgeny M. in ErlangRus
ну как уже писали выше можно передавать собранный модуль в виде бинаря
источник

AV

Andrey Velikiy in ErlangRus
snakeduse
Всем привет. В доке по ребару написано, что файл vm.args может иметь следующее содержимое: "-name {{release_name}}@127.0.0.1".
Кто-нибудь знает, что нужно сделать, чтобы вместо {{release_name}} подставилось имя релиза?
Для этого надо использовать так называемый overlay или достаточно просто указать в конфиге ребара {vm_args, "config/vm.args"}?
могу ошибаться, но скорее всего через оверлеи. это если при компиляции надо шаблонизировать. при исполнении - в зависимости от версии экстендед скрипта (читай: ребарв)
источник

EM

Evgeny M. in ErlangRus
и на другой ноде этот код грузить. Тогад всегда будет одна версия модуля.
источник

DZ

Danil Zagoskin in ErlangRus
Aleksey Kluchnikov
угу, и они долны быть одинаковые, модули эти. А это плохо. При обновлении по сути надо все приостанавливать
Если лямбда создана как remote_call (т.е. fun Mod:Fun/2), то совпадение версий не нужно
источник

EM

Evgeny M. in ErlangRus
да, просто должна быть функция с той эже арити
источник

AK

Aleksey Kluchnikov in ErlangRus
Danil Zagoskin
Если лямбда создана как remote_call (т.е. fun Mod:Fun/2), то совпадение версий не нужно
в этом случае не очень то она и нужна, лямбда эта
источник

AK

Aleksey Kluchnikov in ErlangRus
можно тогда рпц делать
источник

DZ

Danil Zagoskin in ErlangRus
Evgeny M.
и на другой ноде этот код грузить. Тогад всегда будет одна версия модуля.
И тогда у тебя появятся проблемы гораздо серьёзнее :)
источник

EM

Evgeny M. in ErlangRus
никаких проблем не появится, если с умом :)
сейчас еще попробую генерить в функции обычный fun без ссылки на модуль и передавать его через spawn, но не в шелле
источник

DZ

Danil Zagoskin in ErlangRus
Aleksey Kluchnikov
в этом случае не очень то она и нужна, лямбда эта
Удобно как коллбек передать — способ логирования, например
источник