完善耐久采集
This commit is contained in:
@ -1,5 +1,6 @@
|
||||
import os
|
||||
import os.path
|
||||
import time
|
||||
import threading
|
||||
import sqlite3
|
||||
from PySide6.QtCore import Signal, QThread
|
||||
@ -82,19 +83,41 @@ class LoggerHandler(QThread):
|
||||
raise Exception()
|
||||
|
||||
|
||||
def detect_db_size():
|
||||
@db_lock
|
||||
def release_memory():
|
||||
line_number = 20000
|
||||
leftover = 4000 # 200s
|
||||
cursor.execute("SELECT COUNT(id) FROM logs")
|
||||
len_records = cursor.fetchone()[0]
|
||||
if len_records > line_number:
|
||||
del_num = len_records - leftover + 1
|
||||
cursor.execute(f"DELETE FROM logs WHERE id < {del_num}")
|
||||
cursor.execute(f"UPDATE logs SET id=(id-{del_num - 1}) WHERE id > {del_num - 1}")
|
||||
cursor.execute(f"UPDATE sqlite_sequence SET seq = {leftover + 1} WHERE name = 'logs' ")
|
||||
cursor.execute("VACUUM")
|
||||
|
||||
while True:
|
||||
release_memory()
|
||||
time.sleep(INTERVAL*10)
|
||||
|
||||
|
||||
PREFIX = "resources/assets" # for pyinstaller
|
||||
# PREFIX = "assets" # for local testing
|
||||
log_path = f"{PREFIX}/logs"
|
||||
# log_path = f"{PREFIX}/logs"
|
||||
lock = threading.Lock()
|
||||
running = [0, 0, 0, 0, 0, 0, 0] # 制动数据/转矩数据/激光数据/精度数据/制动自动化/转矩自动化/耐久数据采集
|
||||
stop_flag = False
|
||||
functions = ["制动数据处理", "转矩数据处理", "激光数据处理", "精度数据处理", "制动自动化测试", "转矩自动化测试", "耐久数据采集"]
|
||||
levels = ["DEBUG", "INFO", "WARNING", "ERROR"]
|
||||
ip_addr, ssh_port, socket_port, xService_port, external_port, modbus_port, upgrade_port = "", 22, 5050, 6666, 8080, 502, 4567
|
||||
username, password = "luoshi", "luoshi2019"
|
||||
INTERVAL, RADIAN, MAX_FRAME_SIZE, MAX_LOG_NUMBER, CYCLE = 1, 57.3, 1024, 10, 300
|
||||
username, password = "luoshi", "123456"
|
||||
INTERVAL, RADIAN, MAX_FRAME_SIZE, MAX_LOG_NUMBER, CYCLE = 1, 57.3, 1024, 10, 30
|
||||
c_md, c_hr, c_ec, c_pd, conn, cursor, search_records, logger, count = None, None, None, None, None, None, None, None, 0
|
||||
status = {"mysql": 0, "hmi": 0, "md": 0, "ec": 0}
|
||||
c_joint_vel, c_servo_trq, c_sensor_trq, c_estimate_trans_trq, c_safety_estop = 1, 2, 3, 4, 3 # 各个指标所在列
|
||||
|
||||
init_logdb()
|
||||
t = threading.Thread(target=detect_db_size)
|
||||
t.daemon = True
|
||||
t.start()
|
||||
|
Reference in New Issue
Block a user