170 похожих чатов

Я думал об этом... будет ли видна разница в работе

если у бота будет 300-500 юзеров?

немного из тз: команда /list должна отдавать список валют с ценами из бд, если последнее обновление бд было более 10 мин назад - делается запрос к сервису, ценники обновляются в бд и отдаются юзеру бота. я понимаю, что при использовании async для работы с бд надо предусмотреть лок во время запроса к сервису, чтобы избежать вакханалии на случай двух одновременных запросов... но меня очень интересует разница в скорости отдачи сообщений юзерам если использовать синхронный модуль для бд

3 ответов

5 просмотров

Чо

Нужны транзакции, а не лок

1. зависит от многих факторов. что такое 300-500 юзеров? это 300-500 одновременных команд в секунду? 2. какой нахрен лок? +1 к вопросу тишки. 3. тебе нужно предусмотреть ситуацию, чтобы не высылать множество запросов на каждый раз, когда время последней синхронизации превысило таймаут. но для этого достаточно трекать а) таски синхронизации. б) время начала последней такой таски (т.е. писать время до того как запустил фоновую задачу синхронизациии, а не после того как). 4. в зависимости от логики работы с базой лок на таблицу \ запись все таки нужен. (но только для апдейта записи \ вставки новой записи, если например ты хранишь таблицу со списком прошлых тасков)

Похожие вопросы

Обсуждают сегодня

кому не сложно распишите пожалуйста для какой цели тут вот эти скобки и в них пихается указатель?
Михаил Helper
15
Комрады, посоветуйте, куда копать? Стал прикручивать кастомизацию тем. В OnShow главной главной формы пытаюсь загрузить из файла настроек и применить тему (на скрине, как долж...
Ed Doc
13
Такс, блин, таки кто-то знает, каким образом работают макросы stdin/stdout/stderr? Я влез в stdio.h, там определения нет, отладил через асмокод - вызывается функция со странны...
The Bird of Hermes
18
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
OnShow один раз вызывается? или возможен Hide?
Iluha Companets
14
Если у меня есть такой класс: Object = {} function Object:new(a_name, a_transform, a_color, a_mesh, a_material, a_shader, a_textures) local private = {} private.n...
Cuarno Vile
4
А еще в перле можно уже @arr1 + @arr2?
Sergei Zhmylove
53
Всем привет, на линуксе лучше на fasm или nasm учиться писать для начала ?
meszjol
14
@MrMiscipitlick А можешь макрос написать, который будет вычислять смещение относительно переданных меток? Просто .label1-.label2, и вернуть значение.
КТ315
35
зачем же переименовывать ? чтобы кол-во участников возросло или вдруг IBM от этого снова на свифте начнет кодить ? Я не понимаю что страшного в том что свифт гавно, если это т...
Oleh Nerzh
10
Карта сайта