Added database.change_batch_retention, deleting old change batches
Each save that records a batch also deletes, in the same transaction, the batches older than database.change_batch_retention (30 days by default; 0 or less keeps them for ever), with their records of opportunities. A client still holding a deleted batch gets 410 Gone from ?changed_after= and reloads the whole list, as for any unknown batch.
This commit is contained in:
1 parent
1988d07a29
commit
65e5bc6b26
10 files changed
+153
-19
No files matched your search
@@ -1,15 +1,21 @@
|
||||
package config
|
||||
|
||||
import "reflect"
|
||||
import (
|
||||
"reflect"
|
||||
"time"
|
||||
)
|
||||
|
||||
// JSCKDatabase is the database section's configuration key.
|
||||
const JSCKDatabase string = "database"
|
||||
|
||||
// JSCDatabase configures the SQLite database. File is the path to
|
||||
// the database file; empty means none, and commands that need the database
|
||||
// fail with a message saying so.
|
||||
// fail with a message saying so. ChangeBatchRetention is how long a batch of
|
||||
// changed opportunities is kept for clients to catch up from (see
|
||||
// store.WithChangeBatchRetention); 0 or less means they are kept for ever.
|
||||
type JSCDatabase struct {
|
||||
File string `cfg:"file"`
|
||||
File string `cfg:"file"`
|
||||
ChangeBatchRetention time.Duration `cfg:"change_batch_retention" default:"720h"`
|
||||
}
|
||||
|
||||
// ---------- Section methods (see Section) ----------
|
||||
|
||||
Reference in new issue
Block a user