mirror of
https://github.com/StefBuwalda/dashboard_test.git
synced 2025-10-29 10:49:59 +00:00
Added a global config.py
This commit is contained in:
13
app.py
13
app.py
@@ -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)
|
||||
|
||||
|
||||
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user