-
Модуль статистики (statistics.py)
- Преобразованы все функции эндпоинтов в асинхронные
- Заменены синхронные ORM-запросы на асинхронные SQL-выражения
- Добавлены корректные await для всех асинхронных операций с БД
-
Модуль категорий (categories.py)
- Преобразованы функции в асинхронные
- Заменены синхронные запросы ORM на асинхронные
- Добавлена поддержка асинхронных транзакций (commit и refresh)
-
Модуль пользователей (users.py)
- Преобразованы все функции в асинхронные
- Изменена работа с моделями (используется select, update, delete)
- Обновлены операции с БД для асинхронной работы
-
Модуль аутентификации (auth.py)
- Добавлена асинхронная функция authenticate_user_async
- Обновлены зависимости для использования асинхронной сессии БД
- Обновлен эндпоинт токена для асинхронной работы
-
Модуль безопасности (security.py)
- Добавлена асинхронная функция get_current_user_async
- Сохранены синхронные функции для совместимости
- Обновлена функция get_current_active_user для использования асинхронной зависимости
-
Основной модуль API (api.py)
- Удалены упоминания неиспользуемых модулей (notifications, attachments)
- Оптимизирована структура импортов
-
Главный модуль приложения (main.py)
- Удалено подключение async_tickets_router, т.к. все роутеры теперь асинхронные
-
Повышение производительности и масштабируемости:
- Неблокирующая работа с БД позволяет обрабатывать больше запросов одновременно
- Эффективное использование ресурсов сервера
- Улучшенная работа с подключениями к БД
-
Оптимизация потребления памяти:
- Асинхронные операции требуют меньше потоков и ресурсов
- Управление пулом соединений стало более эффективным
-
Более чистый и поддерживаемый код:
- Единообразный стиль асинхронного программирования
- Последовательный подход к работе с БД
- Удалены устаревшие и неиспользуемые компоненты
- Преобразование оставшихся синхронных эндпоинтов (tickets, equipment)
- Добавление backpressure механизмов для защиты от перегрузки
- Оптимизация сложных запросов с использованием материализованных представлений или денормализации
- Внедрение асинхронных очередей для обработки длительных задач