## [0.9.19] - 2025-09-01
Some checks failed
Deploy on push / deploy (push) Failing after 5m57s

### 🚀 ML Models Runtime Preloading
- **🔧 models loading**: Перенесена предзагрузка ML моделей из Docker build в runtime startup
  - Убрана предзагрузка из `Dockerfile` - модели теперь загружаются после монтирования `/dump` папки
  - Добавлена async функция `preload_models()` в `services/search.py` для фоновой загрузки
  - Интеграция предзагрузки в `lifespan` функцию `main.py`
  - Использование `asyncio.run_in_executor()` для неблокирующей загрузки моделей
  - Исправлена проблема с недоступностью `/dump` папки во время сборки Docker образа
This commit is contained in:
2025-09-01 16:38:23 +03:00
parent 143157a771
commit b70901f8f7
5 changed files with 87 additions and 144 deletions

View File

@@ -22,7 +22,7 @@ from auth.oauth import oauth_callback, oauth_login
from cache.precache import precache_data
from cache.revalidator import revalidation_manager
from rbac import initialize_rbac
from services.search import check_search_service, initialize_search_index, search_service
from services.search import check_search_service, initialize_search_index, preload_models, search_service
from services.viewed import ViewedStorage
from settings import DEV_SERVER_PID_FILE_NAME
from storage.redis import redis
@@ -263,6 +263,11 @@ async def lifespan(app: Starlette):
await initialize_search_index_with_data()
print("[lifespan] Search service initialized with Muvera")
# 🚀 Предзагружаем ML модели после монтирования /dump
print("[lifespan] Starting ML models preloading...")
await preload_models()
print("[lifespan] ML models preloading completed")
yield
finally:
print("[lifespan] Shutting down application services")