а reader считывал только свежие данные.Если в сообщении отправлять атрибут времени отправки, то получатель может отбросить сообщение, если оно стало неактуально.
heroku ps
должна показывать при выводе.sorter := func(i, j int) bool {
return arr[i] < arr[j]
}
sort.Slice(arr, sorter)
Нужно было перед командой добавить "EXPLAIN ANALYSE ", тогда можно было узнать план запроса, не выполняя его.
UPDATE (SET a = 'foo' where field и LIKE '%pattern%')
3. Почему UPDATE не связанный с этим полем так тормозит?См. выше.
Есть таблица на 100 млн записей.
Есть 3 endpoint во flask, которая возвращает json. Есть 4-й endpoint, который асинхронно обращается к 3-м выше и собирает итоговый json.Зачем? Используй очередь сообщений и отдельный процесс для сбора данных с fetch_url. Клиент не должен ждать пока данные будут получены. Вместо этого для получения результатов можно использовать запросы short polling к серверу или сервер будет сам уведомлять через SSE.
эта проблема появилась от того, что хероку просто не дружит с mysql и лучше было бы использовать postresql или я допустил какие-то ошибки?Есть различные провайдеры Mysql для Heroku. При подключении addon приложение должно автоматически получить переменные окружения для подключения к БД.
Один из важных элементов -- это данные об актуальном балансе средств клиента, которые хранятся в поле balance в таблице clients. По данному полю происходит постоянная нагрузка параллельными запросов на получение и изменение его текущего значения.Поле balance можно вынести в отдельную таблицу, тогда не будет блокироваться таблица clients. Сейчас есть много операций чтения и записи в одной таблице. При отдельной таблица clients будет использоваться почти только для чтения, а таблица баланса с частой записью не будет блокировать запросы clients.
1. open source решение
make
в корне проекта. Предварительно установить компилятор.