Size: a a a

2021 October 28

c

codingteam@cjr in codingteam
Minoru
я что-то не припомню там тем про сглаживание
источник

c

codingteam@cjr in codingteam
Minoru
там было что-то про расчёт всяких средних и крайних случаев, типа сколько места отвести под очередь
источник

c

codingteam@cjr in codingteam
Minoru
а в остальном считалось, что очередь обслуживается настолько быстро, насколько можно
источник

c

codingteam@cjr in codingteam
Minoru
а мне тут наоборот надо искусственно заставить «воркеры» простаивать
источник

c

codingteam@cjr in codingteam
Minoru
(я таким образом хочу снизить вероятность конфликтов за доступ к БД)
источник

c

codingteam@cjr in codingteam
portnov
Minoru: все задания складывать в очередь, и из очереди выгребать по 1 сообщению в секунду?
источник

c

codingteam@cjr in codingteam
portnov
ну или там в миллисекунду
источник

c

codingteam@cjr in codingteam
portnov
скорость выгребания можно, в принципе, адаптивно подбирать
источник

c

codingteam@cjr in codingteam
Minoru
да, я в эту же сторону думаю. Надеялся, что уже что-то придумали готовое и не придётся переизобретать колесо :)
источник

c

codingteam@cjr in codingteam
Mr.Purple
debounce какой-то
источник

c

codingteam@cjr in codingteam
Minoru
есть некоторое сходство, да. Но мне не нужно дедуплицировать сообщения, и нужно менять задержку в зависимости от количества сообщений
источник

c

codingteam@cjr in codingteam
portnov
ну там тебе понадобится замерять текущее среднее время обработки одного задания
источник

c

codingteam@cjr in codingteam
portnov
и от этого выбирать скорость выгребания из очереди
источник

c

codingteam@cjr in codingteam
Minoru
нет, в моей задаче время обработки замерять не надо — я должен просто перестать читать входную очередь, чтобы на том конце сообразили, что система перегружена, и запустили ещё одного воркера
источник

c

codingteam@cjr in codingteam
portnov
а с той стороны видно, что ты перестал читать?
источник

c

codingteam@cjr in codingteam
portnov
может ты просто завален работой
источник

c

codingteam@cjr in codingteam
Minoru
тут что-то похожее на thundering herd problem: когда приходит пачка заданий, воркеры тут же её разбирают и начинают работать, соревнуясь за общие ресурсы. И вот если задачки чуток задержать, то конфликтов между воркерами должно бы стать меньше
источник

c

codingteam@cjr in codingteam
Minoru
portnov: видно. Сейчас у меня bounded channel, и когда в нём заканчивается место, попытка send() блокируется. Ну и, соответственно, есть try_send(), который позволяет той стороне проверить, что я ещё не завален, а если завален — как-то отреагировать
источник

t

ttldtor in codingteam
всё интересенней и интересенней
источник

t

ttldtor in codingteam
появилась ТА сторона
источник