Merge branch 'develop' into product

# Conflicts:
#	Watchdog_Tables_Sondes.py
This commit is contained in:
2025-07-07 13:13:50 +02:00

View File

@@ -1,8 +1,10 @@
# essai transmission
import mysql.connector import mysql.connector
from datetime import datetime, timedelta from datetime import datetime, timedelta
import ovh import ovh
import os import os
from dotenv import load_dotenv from dotenv import load_dotenv
import logging
# Charger le .env # Charger le .env
load_dotenv() load_dotenv()
@@ -13,7 +15,12 @@ DB_CONFIG = {
'password': os.getenv('DB_PASSWORD'), 'password': os.getenv('DB_PASSWORD'),
'database': os.getenv('DB_NAME') 'database': os.getenv('DB_NAME')
} }
# Configurer le logger
logging.basicConfig(
filename='/var/log/watchdog_sondes.log',
level=logging.INFO,
format='%(asctime)s%(levelname)s%(message)s'
)
# SMS OVH # SMS OVH
OVH_CLIENT = ovh.Client( OVH_CLIENT = ovh.Client(
endpoint=os.getenv('OVH_ENDPOINT'), endpoint=os.getenv('OVH_ENDPOINT'),
@@ -39,7 +46,7 @@ def verifier_table(cnx, table):
def envoyer_sms(message): def envoyer_sms(message):
if not ENVOI_SMS: if not ENVOI_SMS:
print(f"[DEBUG] ENVOI_SMS=0, pas d'envoi. Message :\n{message}") logging.debug(f"[DEBUG] ENVOI_SMS=0, pas d'envoi. Message :\n{message}")
return return
try: try:
result = OVH_CLIENT.post( result = OVH_CLIENT.post(
@@ -49,9 +56,9 @@ def envoyer_sms(message):
noStopClause=True, noStopClause=True,
receivers=[DESTINATAIRE] receivers=[DESTINATAIRE]
) )
print(f"SMS envoyé avec job ID : {result['ids']}") logging.info(f"SMS envoyé avec job ID : {result['ids']}")
except Exception as e: except Exception as e:
print(f"Erreur lors de lenvoi du SMS : {e}") logging.error(f"Erreur lors de lenvoi du SMS : {e}")
def main(): def main():
now = datetime.now() now = datetime.now()
@@ -71,7 +78,7 @@ def main():
f"{table} : aucune donnée depuis {minutes} min (dernière à {last_date.strftime('%H:%M:%S')})" f"{table} : aucune donnée depuis {minutes} min (dernière à {last_date.strftime('%H:%M:%S')})"
) )
else: else:
print(f"{table} OK — dernière donnée il y a {int(delta.total_seconds()/60)} min.") logging.info(f"{table} OK — dernière donnée il y a {int(delta.total_seconds()/60)} min.")
cnx.close() cnx.close()
@@ -79,7 +86,7 @@ def main():
message = "[ALERTE] Données manquantes :\n" + "\n".join(problemes) message = "[ALERTE] Données manquantes :\n" + "\n".join(problemes)
envoyer_sms(message) envoyer_sms(message)
else: else:
print("Tout est OK, aucune alerte.") logging.info("Tout est OK, aucune alerte.")
if __name__ == "__main__": if __name__ == "__main__":
main() main()