mirror of
				https://github.com/immich-app/immich.git
				synced 2025-10-26 08:12:33 -04: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)
 |