Compare commits
2 commits
5b203904db
...
32d9b4d658
Author | SHA1 | Date | |
---|---|---|---|
32d9b4d658 | |||
ea511a6d67 |
2 changed files with 14 additions and 5 deletions
|
@ -0,0 +1 @@
|
|||
python-daemon==3.0.1
|
18
src/main.py
18
src/main.py
|
@ -1,18 +1,21 @@
|
|||
import http.client
|
||||
import daemon
|
||||
from time import sleep
|
||||
import datetime
|
||||
from socket import socket
|
||||
|
||||
TIMEOUT: float = 1
|
||||
TESTDOMAINS: list[str] = ["cscherr.de", "debian.org", "cloudflare.com"]
|
||||
SLEEPTIME: int = 600 # 10 minutes
|
||||
|
||||
def check_net() -> bool:
|
||||
overall: bool = True
|
||||
statuses: list[bool] = []
|
||||
for domain in TESTDOMAINS:
|
||||
status, msg = reachable(domain)
|
||||
overall &= status
|
||||
statuses.append(status)
|
||||
print(f"{domain:60s} {msg}")
|
||||
|
||||
overall = False
|
||||
for s in statuses:
|
||||
overall |= s
|
||||
return overall
|
||||
|
||||
def reachable(domain: str) -> tuple[bool, str]:
|
||||
|
@ -31,9 +34,14 @@ def monitor():
|
|||
b = check_net()
|
||||
if b: print(":SUCCESS:")
|
||||
else: print(":FAILURE:")
|
||||
sleep(4)
|
||||
sleep(SLEEPTIME)
|
||||
except Exception as e:
|
||||
print(e)
|
||||
|
||||
if __name__ == "__main__":
|
||||
print("executing as normal script")
|
||||
monitor()
|
||||
|
||||
with daemon.DaemonContext():
|
||||
print("entering daemon mode")
|
||||
monitor()
|
||||
|
|
Loading…
Add table
Reference in a new issue