Mise à jour 22/4/25
This commit is contained in:
13
Monitor.py
13
Monitor.py
@@ -5,10 +5,9 @@ import time
|
|||||||
import smtplib
|
import smtplib
|
||||||
from email.mime.text import MIMEText
|
from email.mime.text import MIMEText
|
||||||
import pandas as pd
|
import pandas as pd
|
||||||
from dotenv import load_dotenv
|
|
||||||
import os
|
import os
|
||||||
|
from dotenv import load_dotenv
|
||||||
|
|
||||||
# Charger les variables d'environnement
|
|
||||||
load_dotenv()
|
load_dotenv()
|
||||||
|
|
||||||
# --- Config MySQL ---
|
# --- Config MySQL ---
|
||||||
@@ -19,8 +18,9 @@ config = {
|
|||||||
"database": os.getenv("DB_NAME")
|
"database": os.getenv("DB_NAME")
|
||||||
}
|
}
|
||||||
|
|
||||||
# --- Destinataires email ---
|
# --- Fonction de sélection des destinataires selon le site ---
|
||||||
destinataires = os.getenv("EMAIL_DEST").split(",")
|
def get_destinataires(lieu):
|
||||||
|
return os.getenv(f"EMAIL_{lieu.upper()}", os.getenv("EMAIL_DEFAULT")).split(",")
|
||||||
|
|
||||||
# --- Fonction d'envoi de mail ---
|
# --- Fonction d'envoi de mail ---
|
||||||
def envoyer_mail(sujet, message, destinataires):
|
def envoyer_mail(sujet, message, destinataires):
|
||||||
@@ -36,7 +36,6 @@ def envoyer_mail(sujet, message, destinataires):
|
|||||||
except Exception as e:
|
except Exception as e:
|
||||||
print(f"Erreur envoi mail : {e}", flush=True)
|
print(f"Erreur envoi mail : {e}", flush=True)
|
||||||
|
|
||||||
|
|
||||||
# --- Fonction de surveillance ---
|
# --- Fonction de surveillance ---
|
||||||
def surveiller():
|
def surveiller():
|
||||||
log_entries = []
|
log_entries = []
|
||||||
@@ -98,7 +97,7 @@ def surveiller():
|
|||||||
f"La sonde '{nom_sonde}' du site '{lieu}' a dépassé le seuil de {seuil}°C "
|
f"La sonde '{nom_sonde}' du site '{lieu}' a dépassé le seuil de {seuil}°C "
|
||||||
f"depuis plus de 30 minutes.\nHeure : {datetime.now().strftime('%Y-%m-%d %H:%M:%S')}"
|
f"depuis plus de 30 minutes.\nHeure : {datetime.now().strftime('%Y-%m-%d %H:%M:%S')}"
|
||||||
)
|
)
|
||||||
envoyer_mail(sujet, message, destinataires)
|
envoyer_mail(sujet, message, get_destinataires(lieu))
|
||||||
|
|
||||||
# Acquittement automatique
|
# Acquittement automatique
|
||||||
cursor.execute(f"""
|
cursor.execute(f"""
|
||||||
@@ -128,6 +127,6 @@ def surveiller():
|
|||||||
|
|
||||||
# --- Boucle principale ---
|
# --- Boucle principale ---
|
||||||
while True:
|
while True:
|
||||||
print(f"📡 Vérification à {datetime.now()}", flush=True)
|
print(f"🛁 Vérification à {datetime.now()}", flush=True)
|
||||||
surveiller()
|
surveiller()
|
||||||
time.sleep(300) # 5 minutes
|
time.sleep(300) # 5 minutes
|
||||||
|
|||||||
Reference in New Issue
Block a user