docs: updated for docker; feat: local and latest dockerfiles; add: .dockerignore file; feat: implemented health check for adrianux app

This commit is contained in:
ahoemann 2025-02-05 18:28:17 +01:00
parent 2b6885055b
commit fa730cac1b
7 changed files with 87 additions and 16 deletions

32
app.py
View file

@ -1,7 +1,10 @@
#!/usr/bin/env python3
from flask import Flask, render_template, redirect, url_for
from concurrent.futures import ThreadPoolExecutor
import requests
import os
import time
app = Flask(__name__)
@ -19,17 +22,18 @@ def homepage():
@app.route("/monitoring")
def monitoring():
git_url = os.environ['GIT_URL']
website_url = os.environ['WEBSITE_URL']
return render_template("monitoring.html", git_status = get_status(git_url), website_status = get_status(website_url) )
global git_status
global website_status
executor = ThreadPoolExecutor(2)
executor.submit(monitor)
return render_template("monitoring.html", git_status = git_status, website_status = website_status)
def get_status_code(link):
requested_site = requests.get(link)
return requested_site.status_code
def get_status(link):
requested_site = requests.get(link)
status_code = requested_site.status_code
try:
match get_status_code(link):
match status_code:
case 200:
return "ONLINE"
case _:
@ -37,6 +41,16 @@ def get_status(link):
except:
return "OFFLINE"
def monitor():
while True:
git_status = get_status(os.environ['GIT_URL'])
website_status = get_status(os.environ['WEBSITE_URL'])
time.sleep(5)
if __name__ == "__main__":
mode = os.environ['DEBUG_MODE']
app.run(debug=mode)
app.run(debug=os.environ['DEBUG_MODE'])