mirror of
https://github.com/StefBuwalda/dashboard_test.git
synced 2025-10-29 18:59:59 +00:00
Increased timeout to 4s and runs every 5s. Added a 5s wait in parralel with the pings to set it to a minimum of 5s but allows it to go longer.
This commit is contained in:
@@ -14,13 +14,14 @@ async def check_service(client: httpx.AsyncClient, s: service) -> log:
|
||||
r = await client.head(
|
||||
url=s.url,
|
||||
follow_redirects=True,
|
||||
timeout=1,
|
||||
timeout=4,
|
||||
)
|
||||
case 1:
|
||||
r = await client.get(
|
||||
url=s.url,
|
||||
follow_redirects=True,
|
||||
timeout=1,
|
||||
timeout=4,
|
||||
headers={"Host": "plex.ihatemen.uk"},
|
||||
)
|
||||
case _:
|
||||
raise httpx.HTTPError("Unknown ping type")
|
||||
@@ -29,7 +30,13 @@ async def check_service(client: httpx.AsyncClient, s: service) -> log:
|
||||
s.set_online(r.status_code == 200)
|
||||
s.set_status(r.status_code)
|
||||
s.set_ping(int((after - before) * 1000))
|
||||
except httpx.HTTPError as e:
|
||||
except httpx.ConnectTimeout:
|
||||
s.set_error("Connection Timeout")
|
||||
s.set_online(False)
|
||||
s.set_status(None)
|
||||
s.set_ping(None)
|
||||
except Exception as e:
|
||||
print(type(e))
|
||||
s.set_error(str(e))
|
||||
s.set_online(False)
|
||||
s.set_status(None)
|
||||
@@ -44,6 +51,11 @@ def start_async_loop():
|
||||
loop.run_forever()
|
||||
|
||||
|
||||
async def sleepTask():
|
||||
await asyncio.sleep(5)
|
||||
return log()
|
||||
|
||||
|
||||
async def update_services(loop: asyncio.AbstractEventLoop):
|
||||
print("Starting service updates...")
|
||||
with app.app_context():
|
||||
@@ -58,7 +70,9 @@ async def update_services(loop: asyncio.AbstractEventLoop):
|
||||
check_service(public_client if s.public else local_client, s)
|
||||
for s in services
|
||||
]
|
||||
tasks.append(sleepTask())
|
||||
logs = await asyncio.gather(*tasks)
|
||||
logs = logs[:-1]
|
||||
try:
|
||||
session.add_all(logs)
|
||||
session.commit()
|
||||
@@ -67,4 +81,3 @@ async def update_services(loop: asyncio.AbstractEventLoop):
|
||||
raise e
|
||||
finally:
|
||||
session.close()
|
||||
await asyncio.sleep(2)
|
||||
|
||||
Reference in New Issue
Block a user