系统诊断增加设备检测
This commit is contained in:
@ -80,6 +80,25 @@ class DBHelper:
|
||||
messages = cursor.fetchall() # 结果:[(content, is_processed, create_time, last_modified), ...]
|
||||
conn.close()
|
||||
return messages[::-1] # 反转后按时间正序排列
|
||||
|
||||
def clean_expired_messages(self, days_to_keep=30):
|
||||
"""删除超过指定天数(默认30天, 一个月)的过期消息,并压缩数据库"""
|
||||
from datetime import datetime, timedelta
|
||||
# 计算过期时间(当前时间 - days_to_keep天)
|
||||
expire_time = (datetime.now() - timedelta(days=days_to_keep)).strftime("%Y-%m-%d %H:%M:%S")
|
||||
|
||||
conn = sqlite3.connect(self.db_name)
|
||||
cursor = conn.cursor()
|
||||
# 删除过期消息
|
||||
cursor.execute('''
|
||||
DELETE FROM messages
|
||||
WHERE create_time < ?
|
||||
''', (expire_time,))
|
||||
conn.commit()
|
||||
# 压缩数据库,释放删除后的空闲空间
|
||||
cursor.execute("VACUUM")
|
||||
conn.commit()
|
||||
conn.close()
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
||||
Reference in New Issue
Block a user