myems/myems-cleaning/clean_analog_value.py

51 lines
1.2 KiB
Python

import mysql.connector
import config
import time
from datetime import datetime, timedelta
import schedule
def job(logger):
cnx = None
cursor = None
try:
cnx = mysql.connector.connect(**config.myems_historical_db)
cursor = cnx.cursor()
except Exception as e:
logger.error("Error in clean analog value process " + str(e))
if cursor:
cursor.close()
if cnx:
cnx.close()
return
expired_utc = datetime.utcnow() - timedelta(days=config.live_in_days)
try:
cursor.execute(" DELETE FROM tbl_analog_value WHERE utc_date_time < %s ", (expired_utc,))
cnx.commit()
except Exception as e:
logger.error("Error in delete_expired_trend process " + str(e))
finally:
if cursor:
cursor.close()
if cnx:
cnx.close()
logger.info("Deleted trend before date time in UTC: " + expired_utc.isoformat()[0:19])
def process(logger):
if config.is_debug:
# run the job immediately
job(logger)
return
schedule.every(8).hours.do(job, logger)
while True:
schedule.run_pending()
time.sleep(60)