Skip to content

Commit fbef950

Browse files
authored
Merge pull request #75 from community-of-python/fix-healthchecks-missing
ignore import errors for healthchecks missing
2 parents 3ef45eb + dfe9f0e commit fbef950

File tree

4 files changed

+19
-5
lines changed

4 files changed

+19
-5
lines changed

microbootstrap/bootstrappers/fastapi.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
import fastapi
55
from fastapi.middleware.cors import CORSMiddleware
66
from fastapi_offline_docs import enable_offline_docs
7-
from health_checks.fastapi_healthcheck import build_fastapi_health_check_router
87
from opentelemetry.instrumentation.fastapi import FastAPIInstrumentor
98
from prometheus_fastapi_instrumentator import Instrumentator
109

@@ -21,6 +20,10 @@
2120
from microbootstrap.settings import FastApiSettings
2221

2322

23+
with contextlib.suppress(ImportError):
24+
from health_checks.fastapi_healthcheck import build_fastapi_health_check_router
25+
26+
2427
ApplicationT = typing.TypeVar("ApplicationT", bound=fastapi.FastAPI)
2528

2629

microbootstrap/bootstrappers/faststream.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
from __future__ import annotations
2+
import contextlib
23
import dataclasses
34
import json
45
import typing
@@ -8,7 +9,6 @@
89
import typing_extensions
910
from faststream.asgi import AsgiFastStream, AsgiResponse
1011
from faststream.asgi import get as handle_get
11-
from health_checks.http_based import BaseHTTPHealthCheck
1212

1313
from microbootstrap.bootstrappers.base import ApplicationBootstrapper
1414
from microbootstrap.config.faststream import FastStreamConfig
@@ -23,6 +23,10 @@
2323
from microbootstrap.settings import FastStreamSettings
2424

2525

26+
with contextlib.suppress(ImportError):
27+
from health_checks.http_based import BaseHTTPHealthCheck
28+
29+
2630
class KwargsAsgiFastStream(AsgiFastStream):
2731
def __init__(self, **kwargs: typing.Any) -> None: # noqa: ANN401
2832
# `broker` argument is positional-only

microbootstrap/bootstrappers/litestar.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
from __future__ import annotations
2+
import contextlib
23
import typing
34

45
import litestar
56
import litestar.types
67
import typing_extensions
7-
from health_checks.litestar_healthcheck import build_litestar_health_check_router
88
from litestar import openapi
99
from litestar.config.cors import CORSConfig as LitestarCorsConfig
1010
from litestar.contrib.opentelemetry.config import OpenTelemetryConfig as LitestarOpentelemetryConfig
@@ -26,6 +26,10 @@
2626
from microbootstrap.settings import LitestarSettings
2727

2828

29+
with contextlib.suppress(ImportError):
30+
from health_checks.litestar_healthcheck import build_litestar_health_check_router
31+
32+
2933
class LitestarBootstrapper(
3034
ApplicationBootstrapper[LitestarSettings, litestar.Litestar, LitestarConfig],
3135
):

microbootstrap/instruments/health_checks_instrument.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,18 @@
11
from __future__ import annotations
2+
import contextlib
23
import typing
34

4-
from health_checks.http_based import DefaultHTTPHealthCheck
5-
65
from microbootstrap.instruments.base import BaseInstrumentConfig, Instrument
76

87

98
if typing.TYPE_CHECKING:
109
from health_checks.base import HealthCheck
1110

1211

12+
with contextlib.suppress(ImportError):
13+
from health_checks.http_based import DefaultHTTPHealthCheck
14+
15+
1316
class HealthChecksConfig(BaseInstrumentConfig):
1417
service_name: str = "micro-service"
1518
service_version: str = "1.0.0"

0 commit comments

Comments
 (0)