Skip to content

Commit

Permalink
Change auto purge config to list of auto purge configs
Browse files Browse the repository at this point in the history
  • Loading branch information
earocorn committed Sep 12, 2024
1 parent 6e48aab commit 4004a7e
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 14 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -82,20 +82,23 @@ protected void doStart() throws SensorHubException
}

// start auto-purge timer thread if policy is specified and enabled
if (config.autoPurgeConfig != null && config.autoPurgeConfig.enabled)
for(var autoPurgeConfig : config.autoPurgeConfig)
{
var uids = Collections.unmodifiableCollection(config.autoPurgeConfig.systemUIDs);
final IObsSystemDbAutoPurgePolicy policy = config.autoPurgeConfig.getPolicy();
autoPurgeTimer = new Timer();
TimerTask task = new TimerTask() {
public void run()
{
if (!db.isReadOnly())
policy.trimStorage(db, logger, uids);
}
};

autoPurgeTimer.schedule(task, 0, (long)(config.autoPurgeConfig.purgePeriod*1000));
if (autoPurgeConfig != null && autoPurgeConfig.enabled)
{
var uids = Collections.unmodifiableCollection(autoPurgeConfig.systemUIDs);
final IObsSystemDbAutoPurgePolicy policy = autoPurgeConfig.getPolicy();
autoPurgeTimer = new Timer();
TimerTask task = new TimerTask() {
public void run()
{
if (!db.isReadOnly())
policy.trimStorage(db, logger, uids);
}
};

autoPurgeTimer.schedule(task, 0, (long)(autoPurgeConfig.purgePeriod*1000));
}
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@

package org.sensorhub.impl.database.system;

import java.util.ArrayList;
import java.util.List;
import java.util.Set;
import java.util.TreeSet;
import org.sensorhub.api.config.DisplayInfo;
Expand Down Expand Up @@ -46,7 +48,7 @@ public class SystemDriverDatabaseConfig extends DatabaseConfig


@DisplayInfo(label="Automatic Purge Policy", desc="Policy for automatically purging historical data")
public HistoricalObsAutoPurgeConfig autoPurgeConfig;
public List<HistoricalObsAutoPurgeConfig> autoPurgeConfig = new ArrayList<>();


@DisplayInfo(desc="Minimum period between database commits (in ms)")
Expand Down

0 comments on commit 4004a7e

Please sign in to comment.