Size: a a a

2020 April 16

DF

Dmitry Frolov in ErlangRus
Виталий Иванов
Ну сразу же вопрос, как добавить еще одну комнату?
Была задача с комнатой не заморачиваться
источник

DF

Dmitry Frolov in ErlangRus
Только одна
источник

ML

Maksim Lapshin in ErlangRus
не знаю, что по этому тестовому заданию можно сказать, но могу дать комментарии, раз ты просишь.

1) в last_messages стейт это мапа. Мы так не делаем никогда, это делать плохо и заканчивается трудноуловимыми багами.  Золотое правило: рекорд лучше мапы

2) all_msg не очень удачно, лучше передавать курсор с которого читать
источник

DF

Dmitry Frolov in ErlangRus
Aleksey Kluchnikov
вебсокет клиент рвет, зачем таймауты
Так таймаут через сколько рвать, если хартбит идет, а сообщения нет - то есть, когда клиент долго спит
источник

СИ

Сергей Иванов in ErlangRus
Aleksey Kluchnikov
вебсокет клиент рвет, зачем таймауты
не знаю. пинговать не надо разве?
источник

DF

Dmitry Frolov in ErlangRus
Виталий Иванов
{ok, LastMsgs} = last_messages:get_all_msg(),
Магический запрос к одному ген серверу.
Этот сервер у тебя первым заткнется при нагрузке - нужно шардить, а лучше использовать таблицу.
Нет привязки сообщений к тому, кому они принадлежат.
Разным клиентам выдается одно и то-же.
Он только при первом коннекте, чтобы отдать последние х сообщений
источник

AK

Aleksey Kluchnikov in ErlangRus
Сергей Иванов
не знаю. пинговать не надо разве?
где надо где не надо, это тонкости
источник

DF

Dmitry Frolov in ErlangRus
Сергей Иванов
не знаю. пинговать не надо разве?
Ковбой сам пингует
источник

AK

Aleksey Kluchnikov in ErlangRus
клиенты тоже могут сами пинговать
источник

DF

Dmitry Frolov in ErlangRus
Считаем, что клиенты любые, могут так, а могут и нет
источник

AK

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

DF

Dmitry Frolov in ErlangRus
Maksim Lapshin
не знаю, что по этому тестовому заданию можно сказать, но могу дать комментарии, раз ты просишь.

1) в last_messages стейт это мапа. Мы так не делаем никогда, это делать плохо и заканчивается трудноуловимыми багами.  Золотое правило: рекорд лучше мапы

2) all_msg не очень удачно, лучше передавать курсор с которого читать
Про первый понял, спасибо, почти всегда таплы использовал.
Про второй пункт можно подробности? Задачи хранить всю переписку нет, но чтобы последние х сообщений новому коннеку показывать на ходу придумал
источник

СИ

Сергей Иванов in ErlangRus
Dmitry Frolov
Ковбой сам пингует
Cowboy does not send ping frames itself. The handler can do it if required.
источник

DF

Dmitry Frolov in ErlangRus
Если идею расширять до множества комнат, то каждой комнате по last_messages - в queue только при неполном заполнении будет вызываться queue:len() (а оно O(n)) - остальные случаи О(1)
источник

DF

Dmitry Frolov in ErlangRus
Сергей Иванов
Cowboy does not send ping frames itself. The handler can do it if required.
А на какую версию доку смотришь?
источник

DF

Dmitry Frolov in ErlangRus
Dmitry Frolov
Если идею расширять до множества комнат, то каждой комнате по last_messages - в queue только при неполном заполнении будет вызываться queue:len() (а оно O(n)) - остальные случаи О(1)
Тогда и ботлнека не будет
источник

СИ

Сергей Иванов in ErlangRus
Dmitry Frolov
А на какую версию доку смотришь?
смотрел 2.2 (гугль выдал), сейчас посмотрел 2.7. а ты какую?
источник

AK

Aleksey Kluchnikov in ErlangRus
А задача не все сообщения вычитывать а только не прочитанные не стояла?
источник

DF

Dmitry Frolov in ErlangRus
Ну типа последние 10 или пять
источник

DF

Dmitry Frolov in ErlangRus
Для этого и last_messages и queue
источник