diff --git a/services/worker-gpu/Dockerfile b/services/worker-gpu/Dockerfile index 71846cb..00f8603 100644 --- a/services/worker-gpu/Dockerfile +++ b/services/worker-gpu/Dockerfile @@ -28,4 +28,11 @@ COPY . . # Директория для FAISS индекса (монтируется как volume) RUN mkdir -p /data/index +# -c 1 обязателен, пока VECTOR_BACKEND=faiss: индекс — синглтон в памяти процесса +# (app/faiss_manager.py). При -c N Celery форкает N процессов, у каждого своя копия +# индекса, и save() каждого затирает чужие векторы в общем файле — эмбеддинги +# теряются молча. Параллельность тут всё равно не нужна: Ollama занимает все ядра +# сервера обработкой одного запроса (замер: 2.29 req/s при конкурентности 1 против +# 2.48 при 16). Поднимать -c имеет смысл только вместе с VECTOR_BACKEND=qdrant, +# который допускает конкурентную запись. CMD ["celery", "-A", "app.celery_app", "worker", "-Q", "queue.gpu", "-c", "1", "-n", "gpu@%h", "--loglevel=info"]