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 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()
|
||||||
|
|
Loading…
Add table
Reference in a new issue