mirror of
https://github.com/immich-app/immich.git
synced 2025-04-21 13:05:37 +02:00
44 lines
1.1 KiB
Python
44 lines
1.1 KiB
Python
import os
|
|
import signal
|
|
import subprocess
|
|
from pathlib import Path
|
|
|
|
from .config import log, non_prefixed_settings, settings
|
|
|
|
if source_ref := os.getenv("IMMICH_SOURCE_REF"):
|
|
log.info(f"Initializing Immich ML [{source_ref}]")
|
|
else:
|
|
log.info("Initializing Immich ML")
|
|
|
|
module_dir = Path(__file__).parent
|
|
|
|
try:
|
|
with subprocess.Popen(
|
|
[
|
|
"python",
|
|
"-m",
|
|
"gunicorn",
|
|
"immich_ml.main:app",
|
|
"-k",
|
|
"immich_ml.config.CustomUvicornWorker",
|
|
"-c",
|
|
module_dir / "gunicorn_conf.py",
|
|
"-b",
|
|
f"{non_prefixed_settings.immich_host}:{non_prefixed_settings.immich_port}",
|
|
"-w",
|
|
str(settings.workers),
|
|
"-t",
|
|
str(settings.worker_timeout),
|
|
"--log-config-json",
|
|
module_dir / "log_conf.json",
|
|
"--keep-alive",
|
|
str(settings.http_keepalive_timeout_s),
|
|
"--graceful-timeout",
|
|
"10",
|
|
],
|
|
) as cmd:
|
|
cmd.wait()
|
|
except KeyboardInterrupt:
|
|
cmd.send_signal(signal.SIGINT)
|
|
exit(cmd.returncode)
|