taldir

Directory service to resolve wallet mailboxes by messenger addresses
Log | Files | Refs | Submodules | README | LICENSE

commit d7e7e2311769a49e675fd9d98fde27141aafec06
parent a658298cba37039a40f6d109a1351c2009bfe27e
Author: Martin Schanzenbach <schanzen@gnunet.org>
Date:   Tue, 12 Jul 2022 15:13:58 +0200

make validation cleanup expiration peridically

Diffstat:
Mcmd/taldir-server/testdata/taldir-test.conf | 2+-
Mpkg/rest/taldir.go | 18++++++++++++++----
2 files changed, 15 insertions(+), 5 deletions(-)

diff --git a/cmd/taldir-server/testdata/taldir-test.conf b/cmd/taldir-server/testdata/taldir-test.conf @@ -17,7 +17,7 @@ validation_timeframe = 10m solution_attempt_timeframe = 1h merchant_baseurl_private = http://merchant.taldir/instances/myInstance merchant_token = superSecretToken -validation_expiration = 24h +validation_expiration = 5m [taldir-test] challenge_fee = KUDOS:0 diff --git a/pkg/rest/taldir.go b/pkg/rest/taldir.go @@ -770,6 +770,13 @@ func (t *Taldir) handleRequests() { log.Fatal(http.ListenAndServe(t.Cfg.Section("taldir").Key("bind_to").MustString("localhost:11000"), t.Router)) } +func validationDbMaintenance(t *Taldir) { + for true { + fmt.Println("Hello !!") + time.Sleep(1 * time.Second) + } +} + func (t *Taldir) Initialize(cfgfile string) { _cfg, err := ini.Load(cfgfile) if err != nil { @@ -832,10 +839,13 @@ func (t *Taldir) Initialize(cfgfile string) { if err != nil { log.Fatal(err) } - - tx := t.Db.Where("created_at < ?", time.Now().Add(-validationExp)).Delete(&Validation{}) - //tx := t.Db.Where("created_at < ?", time.Now().AddDate(0, 0, -1)).Delete(&Validation{}) - log.Printf("Cleaned up %d stale validations.\n", tx.RowsAffected) + go func() { + for true { + tx := t.Db.Where("created_at < ?", time.Now().Add(-validationExp)).Delete(&Validation{}) + log.Printf("Cleaned up %d stale validations.\n", tx.RowsAffected) + time.Sleep(validationExp) + } + }() validationLandingTplFile := t.Cfg.Section("taldir").Key("validation_landing").MustString("templates/validation_landing.html") t.ValidationTpl, err = template.ParseFiles(validationLandingTplFile) if err != nil {