Compare commits

..

2 commits

Author SHA1 Message Date
32d9b4d658
sleeptime const 2023-05-22 15:08:38 +02:00
ea511a6d67
maybe ready for prod 2023-05-22 15:07:43 +02:00
2 changed files with 14 additions and 5 deletions

View file

@ -0,0 +1 @@
python-daemon==3.0.1

View file

@ -1,18 +1,21 @@
import http.client import http.client
import daemon
from time import sleep from time import sleep
import datetime
from socket import socket
TIMEOUT: float = 1 TIMEOUT: float = 1
TESTDOMAINS: list[str] = ["cscherr.de", "debian.org", "cloudflare.com"] TESTDOMAINS: list[str] = ["cscherr.de", "debian.org", "cloudflare.com"]
SLEEPTIME: int = 600 # 10 minutes
def check_net() -> bool: def check_net() -> bool:
overall: bool = True statuses: list[bool] = []
for domain in TESTDOMAINS: for domain in TESTDOMAINS:
status, msg = reachable(domain) status, msg = reachable(domain)
overall &= status statuses.append(status)
print(f"{domain:60s} {msg}") print(f"{domain:60s} {msg}")
overall = False
for s in statuses:
overall |= s
return overall return overall
def reachable(domain: str) -> tuple[bool, str]: def reachable(domain: str) -> tuple[bool, str]:
@ -31,9 +34,14 @@ def monitor():
b = check_net() b = check_net()
if b: print(":SUCCESS:") if b: print(":SUCCESS:")
else: print(":FAILURE:") else: print(":FAILURE:")
sleep(4) sleep(SLEEPTIME)
except Exception as e: except Exception as e:
print(e) print(e)
if __name__ == "__main__": if __name__ == "__main__":
print("executing as normal script")
monitor()
with daemon.DaemonContext():
print("entering daemon mode")
monitor() monitor()