Skip to content

Commit 21170c6

Browse files
committed
dv-2
1 parent 596b6b0 commit 21170c6

File tree

2 files changed

+36
-37
lines changed

2 files changed

+36
-37
lines changed

services/director-v2/src/simcore_service_director_v2/core/application.py

Lines changed: 35 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
11
import logging
2+
from typing import Final
23

34
from common_library.json_serialization import json_dumps
45
from fastapi import FastAPI, HTTPException, status
56
from fastapi.exceptions import RequestValidationError
67
from fastapi_lifespan_manager import LifespanManager
78
from servicelib.fastapi.lifespan_utils import Lifespan
9+
from servicelib.fastapi.logging_lifespan import setup_logging_shutdown_event
810
from servicelib.fastapi.openapi import (
911
get_common_oas_options,
1012
override_fastapi_openapi_method,
@@ -51,6 +53,13 @@
5153

5254
_logger = logging.getLogger(__name__)
5355

56+
_NOISY_LOGGERS: Final[tuple[str, ...]] = (
57+
"aio_pika",
58+
"aiormq",
59+
"httpcore",
60+
"httpx",
61+
)
62+
5463

5564
def _set_exception_handlers(app: FastAPI):
5665
app.add_exception_handler(HTTPException, http_error_handler)
@@ -104,26 +113,44 @@ def create_app_lifespan(logging_lifespan: Lifespan | None = None) -> LifespanMan
104113

105114

106115
def create_base_app(
107-
settings: AppSettings | None = None,
116+
app_settings: AppSettings | None = None,
108117
) -> FastAPI:
109-
if settings is None:
110-
settings = AppSettings.create_from_envs()
111-
assert settings # nosec
118+
if app_settings is None:
119+
app_settings = AppSettings.create_from_envs()
120+
121+
logging_shutdown_event = setup_logging_shutdown_event(
122+
log_format_local_dev_enabled=app_settings.DIRECTOR_V2_LOG_FORMAT_LOCAL_DEV_ENABLED,
123+
logger_filter_mapping=app_settings.DIRECTOR_V2_LOG_FILTER_MAPPING,
124+
tracing_settings=app_settings.DIRECTOR_V2_TRACING,
125+
log_base_level=app_settings.log_level,
126+
noisy_loggers=_NOISY_LOGGERS,
127+
)
112128

113-
assert settings.SC_BOOT_MODE # nosec
129+
_logger.info(
130+
"Application settings: %s",
131+
json_dumps(app_settings, indent=2, sort_keys=True),
132+
)
133+
134+
assert app_settings # nosec
135+
136+
assert app_settings.SC_BOOT_MODE # nosec
114137
app = FastAPI(
115-
debug=settings.SC_BOOT_MODE.is_devel_mode(),
138+
debug=app_settings.SC_BOOT_MODE.is_devel_mode(),
116139
title=PROJECT_NAME,
117140
description=SUMMARY,
118141
version=API_VERSION,
119142
openapi_url=f"/api/{API_VTAG}/openapi.json",
120-
**get_common_oas_options(is_devel_mode=settings.SC_BOOT_MODE.is_devel_mode()),
143+
**get_common_oas_options(
144+
is_devel_mode=app_settings.SC_BOOT_MODE.is_devel_mode()
145+
),
121146
)
122147
override_fastapi_openapi_method(app)
123-
app.state.settings = settings
148+
app.state.settings = app_settings
124149

125150
app.include_router(api_router)
126151

152+
app.add_event_handler("shutdown", logging_shutdown_event)
153+
127154
return app
128155

129156

Lines changed: 1 addition & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,40 +1,12 @@
11
"""Main application to be deployed in for example uvicorn."""
22

33
import logging
4-
from typing import Final
54

6-
from common_library.json_serialization import json_dumps
75
from fastapi import FastAPI
8-
from servicelib.fastapi.logging_lifespan import (
9-
setup_logging_shutdown_event,
10-
)
116
from simcore_service_director_v2.core.application import init_app
12-
from simcore_service_director_v2.core.settings import AppSettings
137

148
_logger = logging.getLogger(__name__)
159

16-
_NOISY_LOGGERS: Final[tuple[str, ...]] = (
17-
"aio_pika",
18-
"aiormq",
19-
"httpcore",
20-
"httpx",
21-
)
22-
2310

2411
def app_factory() -> FastAPI:
25-
app_settings = AppSettings.create_from_envs()
26-
logging_shutdown_event = setup_logging_shutdown_event(
27-
log_format_local_dev_enabled=app_settings.DIRECTOR_V2_LOG_FORMAT_LOCAL_DEV_ENABLED,
28-
logger_filter_mapping=app_settings.DIRECTOR_V2_LOG_FILTER_MAPPING,
29-
tracing_settings=app_settings.DIRECTOR_V2_TRACING,
30-
log_base_level=app_settings.log_level,
31-
noisy_loggers=_NOISY_LOGGERS,
32-
)
33-
34-
_logger.info(
35-
"Application settings: %s",
36-
json_dumps(app_settings, indent=2, sort_keys=True),
37-
)
38-
app = init_app(settings=app_settings)
39-
app.add_event_handler("shutdown", logging_shutdown_event)
40-
return app
12+
return init_app()

0 commit comments

Comments
 (0)