chore(tradein): drop uvicorn --reload in prod (WatchFiles overhead) #641
1 changed files with 6 additions and 0 deletions
|
|
@ -36,6 +36,12 @@ services:
|
||||||
backend:
|
backend:
|
||||||
image: ghcr.io/lekss361/gendesign-tradein-backend:${IMAGE_TAG:-latest}
|
image: ghcr.io/lekss361/gendesign-tradein-backend:${IMAGE_TAG:-latest}
|
||||||
container_name: tradein-backend
|
container_name: tradein-backend
|
||||||
|
# Prod: uvicorn БЕЗ --reload (Dockerfile CMD несёт --reload только для dev hot-reload,
|
||||||
|
# где app/ bind-mount'ится). В prod --reload = лишний WatchFiles-наблюдатель + риск
|
||||||
|
# reload в середине запроса. Single worker ОБЯЗАТЕЛЕН: in-app планировщик
|
||||||
|
# (app.services.scheduler, tick=60s) живёт в процессе backend — несколько uvicorn
|
||||||
|
# воркеров = дублирование scheduled-джоб (cian/rosreestr запустятся N раз). Без --workers.
|
||||||
|
command: ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8000"]
|
||||||
# .env.runtime пишется вручную на VPS (см. DEPLOY.md / scripts/README.md).
|
# .env.runtime пишется вручную на VPS (см. DEPLOY.md / scripts/README.md).
|
||||||
# Контейнер читает YANDEX_GEOCODER_API_KEY, COOKIE_ENCRYPTION_KEY и пр. из
|
# Контейнер читает YANDEX_GEOCODER_API_KEY, COOKIE_ENCRYPTION_KEY и пр. из
|
||||||
# этого файла — без него backfill scripts падают с "key required".
|
# этого файла — без него backfill scripts падают с "key required".
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue