Added one minute throttling to NodeDB save to disk (#3648)

* Added one minute throttling to NodeDB

* Derp
This commit is contained in:
Ben Meadors
2024-04-18 14:20:39 -05:00
committed by GitHub
parent 747c713ba9
commit 425a715995
5 changed files with 45 additions and 4 deletions
+5 -2
View File
@@ -813,6 +813,7 @@ size_t NodeDB::getNumOnlineMeshNodes(bool localOnly)
}
#include "MeshModule.h"
#include "Throttle.h"
/** Update position info for this node based on received position data
*/
@@ -907,8 +908,10 @@ bool NodeDB::updateUser(uint32_t nodeId, const meshtastic_User &p, uint8_t chann
powerFSM.trigger(EVENT_NODEDB_UPDATED);
notifyObservers(true); // Force an update whether or not our node counts have changed
// We just changed something important about the user, store our DB
saveToDisk(SEGMENT_DEVICESTATE);
// We just changed something about the user, store our DB
Throttle::execute(
&lastNodeDbSave, ONE_MINUTE_MS, []() { nodeDB->saveToDisk(SEGMENT_DEVICESTATE); },
[]() { LOG_DEBUG("Deferring NodeDB saveToDisk for now, since we saved less than a minute ago\n"); });
}
return changed;