Size: a a a

2019 October 29

В

Вертолетчик in ErlangRus
Сергей Иванов
в чем суть вопроса-то?
Был ли такой PR в OTP? Может кто видел?
источник

c🦊

cleverfox 🦊 in ErlangRus
Вертолетчик
Был ли такой PR в OTP? Может кто видел?
маловероятно
источник

СИ

Сергей Иванов in ErlangRus
Вертолетчик
Был ли такой PR в OTP? Может кто видел?
я не видал. может erlexec  поможет, там поприемистей в этом плане
https://github.com/saleyn/erlexec
источник

c🦊

cleverfox 🦊 in ErlangRus
Да и как erts будет понимать на какой запрос порт ответ выдает?
источник

В

Вертолетчик in ErlangRus
Спасибо, посмотрю
источник

В

Вертолетчик in ErlangRus
cleverfox 🦊
Да и как erts будет понимать на какой запрос порт ответ выдает?
Ну дык если  port_command - синхронная, как пишут в доке, то понять по идее можно
источник

c🦊

cleverfox 🦊 in ErlangRus
Вертолетчик
Ну дык если  port_command - синхронная, как пишут в доке, то понять по идее можно
Ну так порт может слать данные асинхронно в твое приложение
источник

c🦊

cleverfox 🦊 in ErlangRus
она синхронная в плане того, что блокируется пока данные не отправит
источник

В

Вертолетчик in ErlangRus
cleverfox 🦊
Ну так порт может слать данные асинхронно в твое приложение
Оно конечно понятно. Ладно, бум кумекать
источник

VS

Vladimir Sekisov in ErlangRus
если программа выдает в stdout, то почему просто
не обернуть ее в
my_command | xargs  echo my_command?
источник

СИ

Сергей Иванов in ErlangRus
Vladimir Sekisov
если программа выдает в stdout, то почему просто
не обернуть ее в
my_command | xargs  echo my_command?
не корпоративно как-то
источник

EM

Evgeny M. in ErlangRus
Вертолетчик
А кто-нибудь (не обязательно из этой группы) заморачивался над PR в OTP по поводу селективных сообщений в/из портов?
Ну то есть, чтоб послать команду в порт с кастомным тегом и получить ответ с таким же тегом.
Наример:
port_command(Port, Data, my_tag)

А в ответ получаем что-то вроде:
{Port, {data, Data}, my_tag}
Можешь посмотреть как я пишу и читаю из tarantool - там та же самая система. Работает полуасинхронно, синхонно отсылает, ждет ответа асинхронно https://github.com/brigadier/tara/blob/master/src/tara_worker.erl
источник

EM

Evgeny M. in ErlangRus
у gen_server есть интересная фишка для этого - handle_call с ответом {noreply, State}, и после этого отдельно reply
источник

СИ

Сергей Иванов in ErlangRus
Vladimir Sekisov
если программа выдает в stdout, то почему просто
не обернуть ее в
my_command | xargs  echo my_command?
если построчно, то soft |  sed -r 's/(.*)/payload: \1/'
источник

VS

Vladimir Sekisov in ErlangRus
xargs -d '\n' -n 1
источник

В

Вертолетчик in ErlangRus
Evgeny M.
Можешь посмотреть как я пишу и читаю из tarantool - там та же самая система. Работает полуасинхронно, синхонно отсылает, ждет ответа асинхронно https://github.com/brigadier/tara/blob/master/src/tara_worker.erl
Попробую угадать не смотря.
noreply в handle_call а потом reply в handle_info ?
источник

СИ

Сергей Иванов in ErlangRus
Vladimir Sekisov
xargs -d '\n' -n 1
так круче даже только xargs -d '\n' -n 1 echo 'payload: '
источник

EM

Evgeny M. in ErlangRus
вроде бы да, но может еще где-то есть reply, сейчас лень смотреть
источник

c🦊

cleverfox 🦊 in ErlangRus
Вертолетчик
Попробую угадать не смотря.
noreply в handle_call а потом reply в handle_info ?
reply можно где угодно
источник

c🦊

cleverfox 🦊 in ErlangRus
даже из другого процесса
источник