Snakecharmer, В Микросервисах вообще понятие реалиционости размытое, один сервис может монгодб использовать, другой постгре, третий вообще хранит csv/json файлом, четвертый на редисе и тд.
По части крона всё верно, интерпретатор питона + импорты в зависимости от версии питона будут примерно 100 мб памяти жрать, через крон процесс убъётся и память освободиться.
Но оперативка дешовая можно и держать цикл если требуется частые операции так как открыть закрыть процесс больше ресурсов требует чем держать процесс открытым.
через startup и shutdown инициализируй и закрывай пул в какой нибудь переменной или выдели класс для всех подключений, кеш, бд, хттпклиент в него атрибуты подгружай при старте и этот объект используй где угодно
match request.GET.get('sort_by'):
case '11': test()
case '12': test2()
визуально код более компактный и проще читается, если матчинг в разных функциях надо использовать то в отдельную функцию эту процедуру вынести и вызывать одной строкой
Раз в 10 секунд это вообще не проблема для любого сайта и тем более для стима. Скорее всего через тор его уже парсят или ддосят поэтому и получаете блок, уберите тор и будет вам счастье.
Кирилл Гладиков, так просто в user сохраняй а пароль хешируй и храни его как хеш в бд, простой вариант использовать функцию md5() встроенную в постгре но md5 уже пробрученный милионы раз, лучше уровнем выше другим каким-нибудь алгоритмом хешировать.
При входе также полученный пароль будет хешироватся и отправлятся запрос в бд на извлечение строки юзера и групы с условием поиска по паролю и емайлу или никнейму, юзер должен естественно должен возвращятся без пароля, если вернулся пустой ответ значит пользователь не существует и отправляем уведомление на фронт кодом 401 например, когда пользователь найден упаковываются данные в куку в виде JWT/Base64 или ключа для локального кеша и возврящем код 200. На всех последующих запросах извлекаем куку а из неё данные пользователя, проверяем исходя из ендпоинта если право у такойто роли им пользоватся, если есть то генерим sql и отправляем в бд если нет то сразу на фронт отправляем код 403..
Тамблица time_zone может быть излишним, через javascript легко получить часовой пояс, отправить его на сервер и присвоить юзеру куку с tz.
JoshGeorge, на сайте при погинации fetch запросы летят из javascript, надо XHR изучать. В браузере кликни правой кнопкой мыши и выбери "Исследовать" или "Просмотреть код", после появится окно справа или снизу там будет вкладка "Сеть" или "Network" и после ещё вкладка "XHR" вот в ней отображаются в реалтайм все запросы которые из фронта в бек летят, крутиш сайт до появления новых данных увидишь появится запрос который за это отвечает, изучаешь его и отправляешь также запрос например через requests библиотеку и это уже будет значительно быстрее и менее нагружено работать чем селениум, если сайт по версии HTTP/2 работает то лучше использовать httpx либу и в асинхронной парадигме, разница по скоростям с силениумом будет космической
shurshur, Сергей Горностаев, Я просто обновил исходный код, у него нету возврата из функции поэтому у него и ошибка, а если по уму то конечно лучше пул использовать