добавил механизм удаления старых файлов

This commit is contained in:
Dmitry Borisenko
2022-08-30 00:41:27 +02:00
parent 199c6ac46b
commit 88d5ac513e
2 changed files with 13 additions and 5 deletions

View File

@@ -7,6 +7,7 @@ class Loging : public IoTItem {
String logid;
String id;
int points;
int keepdays;
int interval;
bool firstTime = true;
@@ -21,6 +22,7 @@ class Loging : public IoTItem {
SerialPrint("E", F("Loging"), "'" + id + "' user set more points than allowed, value reset to 300");
}
jsonRead(parameters, F("int"), interval);
jsonRead(parameters, F("keepdays"), keepdays);
}
String getValue() {
@@ -124,6 +126,10 @@ class Loging : public IoTItem {
//выгрузка по частям, по одному файлу
publishJsonPartly("/lg/" + fname, calculateMaxCount(), i);
//}
if (fileUnixTime < (unixTime - (keepdays * 86400))) {
SerialPrint("i", F("Loging"), "'" + id + "' file '" + fname + "' too old, deleted");
removeFile(directory + "/" + fname);
}
}
} else {
SerialPrint("i", F("Loging"), "'" + id + "' file '" + fname + "' not used, deleted");

View File

@@ -12,7 +12,8 @@
"int": 60,
"logid": "tmp",
"num": 1,
"points": 255
"points": 300,
"keepdays": 2
}
],
"about": {
@@ -22,11 +23,12 @@
"specialThanks": "",
"moduleName": "Loging",
"moduleVersion": "1.0",
"moduleDesc": "Расширение позволяющее логгировать любую величину в график",
"moduleDesc": "Расширение позволяющее логировать любую величину в график",
"propInfo": {
"int": "Интервал",
"logid": "ID величины которую будем логгировать",
"points": "Максимальное количество точек в одном файле"
"int": "Интервал логирования",
"logid": "ID величины которую будем логировать",
"points": "Максимальное количество точек в одном файле, может быть не более 300",
"keepdays": "Количество дней за которое необходимо хранить историю. Данные старее будут удалены автоматически"
}
},
"defActive": true,