Skip to content

Commit c57a11d

Browse files
authored
Merge pull request #65 from cuappdev/josh-health
Add health endpoint
2 parents fa16853 + c9be2ef commit c57a11d

2 files changed

Lines changed: 13 additions & 3 deletions

File tree

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,5 @@ __pycache__/
44
.env
55
.envrc
66
.DS_Store
7-
ca-certificate.crt
7+
ca-certificate.crt
8+
firebase-service-account-key.json

app.py

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99

1010
load_dotenv()
1111

12-
from flask import Flask, request, g
12+
from flask import Flask, jsonify, request, g
1313
from flask_cors import CORS
1414
from flask_jwt_extended import JWTManager
1515
from flask_graphql import GraphQLView
@@ -21,7 +21,7 @@
2121
from src.services.article_service import ArticleService
2222
from src.utils.constants import JWT_SECRET_KEY
2323
from src.utils.team_loader import TeamLoader
24-
from src.database import db
24+
from src.database import db, client
2525

2626
app = Flask(__name__)
2727

@@ -104,6 +104,15 @@ def create_context():
104104
return {"team_loader": TeamLoader()}
105105

106106

107+
@app.route("/health")
108+
def health_check():
109+
try:
110+
client.admin.command("ping")
111+
return jsonify({"status": "healthy", "database": "connected"}), 200
112+
except Exception:
113+
return jsonify({"status": "unhealthy", "database": "disconnected"}), 503
114+
115+
107116
app.add_url_rule(
108117
"/graphql",
109118
view_func=GraphQLView.as_view(

0 commit comments

Comments
 (0)