0
Fork 0
mirror of https://github.com/immich-app/immich.git synced 2025-01-21 00:52:43 -05:00

Configure gunicorn server for ML use case

This commit is contained in:
Olly Welch 2023-03-01 12:23:14 +00:00
parent b4c35ea578
commit cbe9289826

View file

@ -1,13 +1,28 @@
"""
Gunicorn configuration options.
https://docs.gunicorn.org/en/stable/settings.html#config-file
https://docs.gunicorn.org/en/stable/settings.html
"""
import os
# Set the bind address based on the env
server_port = os.getenv('MACHINE_LEARNING_PORT') or "3003"
bind = f"127.0.0.1:{server_port}"
port = os.getenv('MACHINE_LEARNING_PORT') or "3003"
bind = f"0.0.0.0:{port}"
# Preload the Flask app / models etc. before starting the server
preload_app = True
# Logging settings - log to stdout and set log level
accesslog = "-"
loglevel = os.getenv("MACHINE_LEARNING_LOG_LEVEL") or "info"
# Worker settings
# ----------------------
# It is important these are chosen carefully as per
# https://pythonspeed.com/articles/gunicorn-in-docker/
# Otherwise we get workers failing to respond to heartbeat checks,
# especially as requests take a long time to complete.
workers = 2
threads = 4
worker_tmp_dir = "/dev/shm"
timeout = 60