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:
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 {