mirror of
https://github.com/DJ2LS/FreeDATA
synced 2024-05-14 08:04:33 +00:00
Add pings to database clean up
This commit is contained in:
parent
fe549c5c65
commit
6020ea9ce9
1 changed files with 15 additions and 5 deletions
|
@ -2875,20 +2875,30 @@ async function dbClean()
|
||||||
{
|
{
|
||||||
//Only keep the most x latest days of beacons
|
//Only keep the most x latest days of beacons
|
||||||
let beaconKeep = 7;
|
let beaconKeep = 7;
|
||||||
|
let itemCount = 0;
|
||||||
let timestampPurge = Math.floor((Date.now()- beaconKeep * 24*60*60*1000) / 1000) ;
|
let timestampPurge = Math.floor((Date.now()- beaconKeep * 24*60*60*1000) / 1000) ;
|
||||||
if (confirm("Delete beacons older than " + beaconKeep + " days and compact database?")) {
|
if (confirm("Delete beacons and pings older than " + beaconKeep + " days and compact database?")) {
|
||||||
} else {
|
} else {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//Items to purge from database
|
||||||
|
var purgeFilter = [
|
||||||
|
{ type: "beacon" },
|
||||||
|
{ type: "ping-ack" },
|
||||||
|
{ type: "ping" },
|
||||||
|
];
|
||||||
|
|
||||||
await db.find({
|
await db.find({
|
||||||
selector: {
|
selector: {
|
||||||
timestamp: {$lt: timestampPurge},
|
$and: [
|
||||||
type: "beacon",
|
{timestamp: { $lt: timestampPurge } },
|
||||||
|
{ $or: purgeFilter }]
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
.then(async function (result) {
|
.then(async function (result) {
|
||||||
console.log("Purging " + result.docs.length + " beacons received before " + timestampPurge);
|
//console.log("Purging " + result.docs.length + " beacons received before " + timestampPurge);
|
||||||
|
itemCount=result.docs.length;
|
||||||
result.docs.forEach(async function (item) {
|
result.docs.forEach(async function (item) {
|
||||||
await db.get(item._id)
|
await db.get(item._id)
|
||||||
.then(async function (doc) {
|
.then(async function (doc) {
|
||||||
|
@ -2905,5 +2915,5 @@ async function dbClean()
|
||||||
|
|
||||||
//Compact database
|
//Compact database
|
||||||
await db.compact();
|
await db.compact();
|
||||||
window.alert("Database maintenance is complete.");
|
window.alert("Database maintenance is complete. " + itemCount + " items removed from database.");
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue