From 2cdf5c9ac12b5c2ad45fbd2bce3352ce7286cc4b Mon Sep 17 00:00:00 2001 From: Kurbanov Bulat Date: Sat, 5 Feb 2022 11:31:45 +0300 Subject: [PATCH] Add healthcheck --- docker/build.dockerfile | 2 ++ scripts/healthcheck.py | 11 +++++++++++ src/app/views.py | 5 +++++ 3 files changed, 18 insertions(+) create mode 100644 scripts/healthcheck.py diff --git a/docker/build.dockerfile b/docker/build.dockerfile index 6cf9c20..8f2ad87 100644 --- a/docker/build.dockerfile +++ b/docker/build.dockerfile @@ -28,6 +28,8 @@ ENV VENV_PATH=/opt/venv COPY --from=build-image $VENV_PATH $VENV_PATH ENV PATH="$VENV_PATH/bin:$PATH" +COPY ./scripts/healthcheck.py /root/ + EXPOSE 8080 WORKDIR /app/ diff --git a/scripts/healthcheck.py b/scripts/healthcheck.py new file mode 100644 index 0000000..e21d83a --- /dev/null +++ b/scripts/healthcheck.py @@ -0,0 +1,11 @@ +import os + +import httpx + + +response = httpx.get( + "http://localhost:8080/healthcheck", + headers={"Authorization": os.environ["API_KEY"]}, +) +print(f"HEALTHCHECK STATUS: {response.status_code}") +exit(0 if response.status_code == 200 else 1) diff --git a/src/app/views.py b/src/app/views.py index d2a680b..fc91c5c 100644 --- a/src/app/views.py +++ b/src/app/views.py @@ -15,3 +15,8 @@ async def update(request: Request, updater: UpdaterTypes): await arq_pool.enqueue_job(UPDATERS[updater]) return "Ok!" + + +@router.get("/healthcheck") +async def healthcheck(): + return "Ok!"