Durch Ausführen des folgenden Quellcodes können Sie Folgendes erreichen.
Alle 10 Sekunden wird SQL an die DB-Tabelle ausgegeben, um den Wert abzurufen. Wenn der Schwellenwert überschritten wird, wird der Desktop benachrichtigt. ――Da dies ein Beispiel ist, handelt es sich um eine einfache Tabelle, die die folgende Zeit und Daten enthält. Ich denke jedoch, dass sie in verschiedenen Formen erweitert werden kann, z. B. mithilfe von Ansicht usw., um die Daten für 1 Stunde gemittelt zu machen.
Quellcode
from plyer import notification
import psycopg2
import schedule
import time
def job(cur):
alert = ""
cur.execute("select data from sample order by time desc limit 1;")
rows = cur.fetchall()
hoge = rows[0][0]
if int(hoge) >= 98:
alert += "Hoge ist 100%Auf etwas oder jemanden zukommen."
if alert != "":
notification.notify(
title = "Warnung",
message = alert,
app_name = "Überwachung überwachen"
)
print("Starten Sie die Überwachung.\n Eine Desktop-Benachrichtigung wird gesendet, wenn der Standardwert erreicht ist.")
#Erstellung von Verbindungsinformationen
con = psycopg2.connect("host=xxx.xxx.xxx.xxx port=xxxx dbname=xxxx user=xxxx password=xxxx")
cur = con.cursor()
#Job jedes Mal ausführen (diesmal alle 10 Sekunden)
schedule.every(10).seconds.do(job, cur)
while True:
try:
schedule.run_pending()
time.sleep(1)
except KeyboardInterrupt:
print("Es wurde unterbrochen.")
cur.close()
con.close()
break
Recommended Posts