Size: a a a

2019 September 02

ŹR

Źmićer Rubinštejn in pro.elixir
Я не вижу смысла делать процесс, потому что на каждое сокет соединение и так есть процесс, который обрабатывается в параллель
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Все это выглядит как преждевременная оптимизация, которая занесет проблем как с тестированием так и с консистентностью бд
источник

ŹR

Źmićer Rubinštejn in pro.elixir
У тебя залипает handshake изза записи в БД? Вангую что нет.
источник

АН

Алексей Новоселов in pro.elixir
ну да, писать без спавна процесса синхронно еще лучше, если это <50% от времени хендшейка.
источник

VI

Victor Ivanov in pro.elixir
у меня один процесс на все приложение, который подписывается на Phoenix.Presence "presence_diff" и по ним решает, что надо делать INSERT – в редких эдж кейсах на одного клиента бывает несколько процессов (например, long poll fallback, ну или просто несколько вкладок человек открыл), поэтому сделано так, а не через мониторниг процессов
источник

VI

Victor Ivanov in pro.elixir
немного не соответствует первоначальному описанию, но хотел его максимально по-проще сделать
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Это очень плохая архитектура совсем
источник

VI

Victor Ivanov in pro.elixir
> У тебя залипает handshake изза записи в БД?
я еще даже на стейджинг не выкатился, так что пока не знаю )
источник

ŹR

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

ŹR

Źmićer Rubinštejn in pro.elixir
Ты можешь без presence отслеживать для каждого пользователя и так что он присоединяется или отсоединяется
источник

VI

Victor Ivanov in pro.elixir
могу, конечно, но там появляются дубли
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Ты же в базу пишешь - можешь разрулить дубли через upset
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Или как нибудь там
источник

VI

Victor Ivanov in pro.elixir
и начать гадать, что это релаьный коннект дисконнект, или глюк long poll fallback'а?
источник

ŹR

Źmićer Rubinštejn in pro.elixir
И что, presence с этим помогает?
источник

VI

Victor Ivanov in pro.elixir
ага
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Найди плз код где он это разрулит - хочу глянуть
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Последний раз когда я туда смотрел - там не было такой магии
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Самое главное, что ты на presence подписываешься в коллбэке на коннект сокета
источник

VI

Victor Ivanov in pro.elixir
ну я только по результату могу сказать – если напрямую мониторить процесс, то дубли есть (дубль – это на один канал два процесса когда создается, например по рефрешу F5 на клиенте, у которго отключены вебсокеты, и тогда будет две записи о дисконнекте), если слушать презенс – то дублей нет
источник