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:
bwilliams committed 2026-10-16 16:10:32 +01:00
1 parent 1988d07a29
commit 65e5bc6b26
10 files changed
+153 -19

No files matched your search

+5 -1
View File
@@ -38,7 +38,11 @@ func OpenConfiguredStore(
return nil, fmt.Errorf("database %s: %w", file, err)
}
opportunityStore, err := store.Open(ctx, file)
opportunityStore, err := store.Open(
ctx,
file,
store.WithChangeBatchRetention(conf.Database.ChangeBatchRetention),
)
if errors.Is(err, store.ErrNeedsMigration) {
return nil, fmt.Errorf(
"database %s: %w: run `job-search migrate`", file, err,