updates
This commit is contained in:
@@ -1,13 +1,38 @@
|
||||
import uvicorn
|
||||
import signal
|
||||
import sys
|
||||
from src.shared.config.settings import settings
|
||||
from src.shared.config.logging_config import setup_logging, get_logger
|
||||
setup_logging()
|
||||
logger = get_logger(__name__)
|
||||
|
||||
def signal_handler(sig, frame):
|
||||
"""Handle Ctrl+C gracefully."""
|
||||
logger.info('\nReceived interrupt signal (Ctrl+C). Shutting down gracefully...')
|
||||
sys.exit(0)
|
||||
|
||||
if __name__ == '__main__':
|
||||
# Register signal handler for graceful shutdown on Ctrl+C
|
||||
signal.signal(signal.SIGINT, signal_handler)
|
||||
signal.signal(signal.SIGTERM, signal_handler)
|
||||
|
||||
logger.info(f'Starting {settings.APP_NAME} on {settings.HOST}:{settings.PORT}')
|
||||
import os
|
||||
from pathlib import Path
|
||||
base_dir = Path(__file__).parent
|
||||
src_dir = str(base_dir / 'src')
|
||||
use_reload = False
|
||||
uvicorn.run('src.main:app', host=settings.HOST, port=settings.PORT, reload=use_reload, log_level=settings.LOG_LEVEL.lower(), reload_dirs=[src_dir] if use_reload else None, reload_excludes=['*.log', '*.pyc', '*.pyo', '*.pyd', '__pycache__', '**/__pycache__/**', '*.db', '*.sqlite', '*.sqlite3'], reload_delay=1.0)
|
||||
# Enable hot reload in development mode or if explicitly enabled via environment variable
|
||||
use_reload = settings.is_development or os.getenv('ENABLE_RELOAD', 'false').lower() == 'true'
|
||||
if use_reload:
|
||||
logger.info('Hot reload enabled - server will restart on code changes')
|
||||
logger.info('Press Ctrl+C to stop the server')
|
||||
uvicorn.run(
|
||||
'src.main:app',
|
||||
host=settings.HOST,
|
||||
port=settings.PORT,
|
||||
reload=use_reload,
|
||||
log_level=settings.LOG_LEVEL.lower(),
|
||||
reload_dirs=[src_dir] if use_reload else None,
|
||||
reload_excludes=['*.log', '*.pyc', '*.pyo', '*.pyd', '__pycache__', '**/__pycache__/**', '*.db', '*.sqlite', '*.sqlite3', 'venv/**', '.venv/**'],
|
||||
reload_delay=0.5
|
||||
)
|
||||
Reference in New Issue
Block a user