feat: 修改存库频率

This commit is contained in:
caoqianming 2024-06-11 17:41:06 +08:00
parent fb392360da
commit b5e3553cbc
1 changed files with 5 additions and 0 deletions

View File

@ -30,6 +30,7 @@ logging.basicConfig(level=getattr(logging, conf.LOG_LEVEL.upper(), logging.INFO)
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
engine:Engine = None engine:Engine = None
mpoint_dict = {} # {"mpoint_id": last_timex}
def send_error_email(message, subject='hfnf_mqtt', ): def send_error_email(message, subject='hfnf_mqtt', ):
msg = MIMEMultipart() msg = MIMEMultipart()
@ -52,6 +53,9 @@ def save_items(payload):
for item in item_list: for item in item_list:
data['timex'] = datetime.strptime(item['time'], "%Y%m%d%H%M%S").replace(tzinfo=tz.gettz('Asia/Shanghai')) data['timex'] = datetime.strptime(item['time'], "%Y%m%d%H%M%S").replace(tzinfo=tz.gettz('Asia/Shanghai'))
data['mpoint_id'] = item['name'] data['mpoint_id'] = item['name']
last_timex: datetime = mpoint_dict.get(data['mpoint_id'], None)
if last_timex and (data['timex'] - last_timex).total_seconds() < getattr(conf, 'SAVE_SECONDS', 50):
continue
try: try:
val_float = float(item["value"]) val_float = float(item["value"])
data["val_float"] = val_float data["val_float"] = val_float
@ -68,6 +72,7 @@ def save_items(payload):
logger.error(f"{data['mpoint_id']}-保存数据失败", exc_info=True) logger.error(f"{data['mpoint_id']}-保存数据失败", exc_info=True)
Thread(target=send_error_email, args=(f"{data['mpoint_id']}-保存数据失败-{e}",)).start() Thread(target=send_error_email, args=(f"{data['mpoint_id']}-保存数据失败-{e}",)).start()
conn.commit() conn.commit()
mpoint_dict[data['mpoint_id']] = data['timex']