Size: a a a

2019 November 18

СИ

Сергей Иванов in ErlangRus
Vasilii Demidenok
куда смотреть-то конкретно?
flush
источник

V

Vasilii Demidenok in ErlangRus
Ок, не хочешь нормально дискутировать - нахрен надо. Тебе про селектив рисив и паттерны, а ты посмотри в gun. Мне вот делать больше нечего чем перебирать всю либу чтобы найти место где по твоему мнению что-то правильно сделано.
источник

g希

glicOne 希 in ErlangRus
Vasilii Demidenok
куда смотреть-то конкретно?
источник

V

Vasilii Demidenok in ErlangRus
ок и ? мы выгребаем как системные так и не системные сообщения, ну ок.
Где тут подход давай-те копить всё на очереди сообщений-то?
источник

V

Vasilii Demidenok in ErlangRus
Т.е. понятно что мы обрабатываем для конкретного пида. Только такой подход будет не хило деградировать при накоплении очереди.
источник

СИ

Сергей Иванов in ErlangRus
Vasilii Demidenok
Ок, не хочешь нормально дискутировать - нахрен надо. Тебе про селектив рисив и паттерны, а ты посмотри в gun. Мне вот делать больше нечего чем перебирать всю либу чтобы найти место где по твоему мнению что-то правильно сделано.
я с телефона писал просто. речь о том, что ты предлагаешь не делать выборочный ресив а закачать все сообщения в очередь. тем самым замаскировав проблему неуспеваемости обработать сообщения.
типа "могу дропнуть если не успеваю", дропнуть можно и системную, как например gun предлагает
источник

V

Vasilii Demidenok in ErlangRus
для обработки системных сообщений ты в итоге пробегаешь по всей очереди сообщений которые ещё не обработанны
источник

СИ

Сергей Иванов in ErlangRus
Vasilii Demidenok
для обработки системных сообщений ты в итоге пробегаешь по всей очереди сообщений которые ещё не обработанны
ладно, не будем спорить - беспредметно. есть смысл по конкретному решению, конкретной проблемы
источник

EM

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

СИ

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

EM

Evgeny M. in ErlangRus
Рано или поздно любая очередь переполнится, и своя и системная
источник

EM

Evgeny M. in ErlangRus
Ну значит я тормоз
источник

СИ

Сергей Иванов in ErlangRus
я полистал кстати. там они рекомендуют это использовать при проектировании кратковременных перегрузок.
источник

AB

Alexander Beniaminov in ErlangRus
У ferd есть реализация https://github.com/ferd/pobox  хранит сообщения в своей очереди и позволяет
"When it is impossible to rate-limit the messages coming to a process and that your optimization efforts remain fruitless, you need to start shedding load by dropping messages.
PO Box can help by shedding the load for you, and making sure you won't run out of memory".

Согласен с Dmitry: справляться с long running worker, удобный debug и хранение сообщений в своей очереди - это ортогональные задачи.
источник

EM

Evgeny M. in ErlangRus
А бросать кстати лучше не из процесса с очередью, а из вызывающего процесса используя счетчик в ets. Читаем счетчик, если меньше порога инкрементируем его и обрабатываем сообщение, если больше сообщение отбрасываем. На рецс кондишн внимания не обращаем. После обработки сообщения счетчик декрементируем.
источник

СИ

Сергей Иванов in ErlangRus
Alexander Beniaminov
У ferd есть реализация https://github.com/ferd/pobox  хранит сообщения в своей очереди и позволяет
"When it is impossible to rate-limit the messages coming to a process and that your optimization efforts remain fruitless, you need to start shedding load by dropping messages.
PO Box can help by shedding the load for you, and making sure you won't run out of memory".

Согласен с Dmitry: справляться с long running worker, удобный debug и хранение сообщений в своей очереди - это ортогональные задачи.
они решают весьма узкую проблему для специфического вида задач
источник

AB

Alexander Beniaminov in ErlangRus
Да, он про это пишет:  читай первый абзац цитаты
источник

СИ

Сергей Иванов in ErlangRus
Alexander Beniaminov
Да, он про это пишет:  читай первый абзац цитаты
я его даже изложил выше )
источник

AB

Alexander Beniaminov in ErlangRus
кстати OTP gen_statem тоже хранит сообщения в своей очереди и это позволяет делать selective receive внутри стейт машины.
источник

DF

Denis Fakhrtdinov in ErlangRus
pobox пользуется тогда, когда ты не успеваешь разгрести очередь, и у тебя внутри selective recieve образуется. Это никак не может говорить о том, что сообщения нужно оставлять в message box.
источник