Size: a a a

2020 February 20

ME

Marsel Etsamoe in pro.elixir
такой вопрос, как можно подебажить запущенный phoenix? у меня есть приложение на нем, и прямо сейчас оно висит
источник

ME

Marsel Etsamoe in pro.elixir
запущен через релизы
источник

ME

Marsel Etsamoe in pro.elixir
elixir 1.8, phoenix 1.4
источник

ME

Marsel Etsamoe in pro.elixir
в логе тишина, все входящие запросы с веба отваливаются с 504
источник

ME

Marsel Etsamoe in pro.elixir
запросы на апи с 499
источник

ME

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

M

Mark in pro.elixir
Господа. нужен сапорт.

Задача звучит так:  Есть вебсокеты стороннего приложения, нужно из этих вебсокетов трансиловать информацию боту в телеграмм.

Варианты  такие:
1. Подписаться на все сокеты (их штук 20, запускать их как отдельные процессы) -> Выбирать пользователей из базы по критериям и если что-то то полезное пришло отправлять обычным GET запросом каждому юзему в чат в телеге.

2. Джойнить каждого юзера к этому внешнему сокету и по условию отправлять уже сообщение в телегу тем же GET  (Как джойниться не понятно. вот тут черным по белому написано https://hexdocs.pm/phoenix/Phoenix.Channel.html#module-broadcasting-to-an-external-topic) Но я не совсем соображаю как работать с  topic и events  что тут socket - это строка обычная "wss://..." или что
Когда вызоветься метод `join("notification:" <> user_id, %{"ids" => ids}, socket) `и каким должен быть первый аргумент/

Первый вариант от безвыходности

Хотелось бы разобраться где я проебался с тем как оно работать должно.
источник

a

arikai in pro.elixir
Marsel Etsamoe
такой вопрос, как можно подебажить запущенный phoenix? у меня есть приложение на нем, и прямо сейчас оно висит
Observer к удалённой ноде возможен?
Если нет - remote_console и раскуривать вручную
источник

ME

Marsel Etsamoe in pro.elixir
я уже ребутнулся( спасибо за ответ, пойду читать про remote_console для следующего случая
источник

a

arikai in pro.elixir
Консоль то ладно, по сути обычный репл на сервере
источник

a

arikai in pro.elixir
Тут скорее про средства диагностики читать
источник

a

arikai in pro.elixir
Observer - хорошая гуюшка для этого дела: трассировка, графики по нагрузкам и памяти и др.
источник

a

arikai in pro.elixir
Иначе придётся руками вбивать в консоль, что конечно тоже вариант, но менее удобный, кмк
источник

a

arikai in pro.elixir
И в первую очередь - читайте про трассировку (преимущественно - вызовов функций и пересылки сообщений)
источник

ME

Marsel Etsamoe in pro.elixir
а как запустить observer после запуска приложения через systemd bin/appname start ?
источник

ME

Marsel Etsamoe in pro.elixir
добавить в applications?
источник

PG

Pïg Grëënëst in pro.elixir
пробросить epmd с сервера себе и запустить обсервер у себя (куки должны совпадать)
источник

ВА

Верховный Архитектор in pro.elixir
Marsel Etsamoe
а как запустить observer после запуска приложения через systemd bin/appname start ?
я бы начал с какого-нибудь мануала, вроде такого https://mfeckie.github.io/Remote-Profiling-Elixir-Over-SSH/
источник

ВА

Верховный Архитектор in pro.elixir
чтобы больше понимать картину
источник

ME

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