Added a global config.py

This commit is contained in:
2025-09-05 12:27:01 +02:00
parent 8a5ff68f23
commit afd6383daa
3 changed files with 14 additions and 5 deletions

13
app.py
View File

@@ -9,10 +9,14 @@ from models import service, log
from typing import Any, Optional, cast
import json
from datetime import timedelta
from config import timeout
def prepare_chart_data(logs: list[log]) -> tuple[list[str], list[Optional[int]]]:
if len(logs) <= 0:
# Prepares log data for chart.js chart
def prepare_chart_data(
logs: list[log],
) -> tuple[list[str], list[Optional[int]]]:
if len(logs) <= 0: # Return empty if there are no logs
return ([], [])
x = [logs[0].dateCreated.isoformat()]
@@ -21,8 +25,11 @@ def prepare_chart_data(logs: list[log]) -> tuple[list[str], list[Optional[int]]]
for i in range(1, len(logs)):
log1 = logs[i]
log2 = logs[i - 1]
if (abs(log1.dateCreated - log2.dateCreated)) > timedelta(seconds=6):
# Check if the gap in points exceeds a threshold
if (abs(log1.dateCreated - log2.dateCreated)) > timedelta(
milliseconds=1.5 * (timeout + 1000)
):
x.append(log2.dateCreated.isoformat())
y.append(None)

1
config.py Normal file
View File

@@ -0,0 +1 @@
timeout: int = 4000

View File

@@ -4,6 +4,7 @@ import asyncio
import time
from models import log, service
from sqlalchemy.orm import sessionmaker
from config import timeout as timeout_
async def ping(client: aiohttp.ClientSession, s: service) -> int:
@@ -53,11 +54,11 @@ async def update_services(loop: asyncio.AbstractEventLoop):
# Create new session
with app.app_context():
WorkerSession = sessionmaker(bind=db.engine)
timeout = aiohttp.client.ClientTimeout(total=4)
timeout = aiohttp.client.ClientTimeout(total=timeout_ / 1000)
client = aiohttp.ClientSession(timeout=timeout, auto_decompress=False)
while True:
session = WorkerSession()
sleeptask = asyncio.create_task(asyncio.sleep(5))
sleeptask = asyncio.create_task(asyncio.sleep(timeout_ / 1000 + 1))
tasks = [
check_service(client=client, s=s)
for s in session.query(service).all()