From f9a4ae2b3fd4a2ddebfef42f431ffac9ef09301a Mon Sep 17 00:00:00 2001 From: "Thibault \"bui\" Koechlin" Date: Wed, 3 Jun 2020 14:18:00 +0200 Subject: [PATCH] fix #60 - sqlite lock + badges (#61) * don't fatal is DB is locked + Fix #60 --- README.md | 2 ++ pkg/sqlite/commit.go | 4 +++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 459594dfa..34d8d09a4 100644 --- a/README.md +++ b/README.md @@ -10,6 +10,8 @@

+ +

diff --git a/pkg/sqlite/commit.go b/pkg/sqlite/commit.go index dfdbd0e4a..4c51c6780 100644 --- a/pkg/sqlite/commit.go +++ b/pkg/sqlite/commit.go @@ -14,7 +14,9 @@ func (c *Context) Flush() error { defer c.lock.Unlock() ret := c.tx.Commit() + if ret.Error != nil { + c.tx = c.Db.Begin() return fmt.Errorf("failed to commit records : %v", ret.Error) } c.tx = c.Db.Begin() @@ -37,7 +39,7 @@ func (c *Context) AutoCommit() { if atomic.LoadInt32(&c.count) != 0 && (atomic.LoadInt32(&c.count)%100 == 0 || time.Since(c.lastCommit) >= 500*time.Millisecond) { if err := c.Flush(); err != nil { - log.Fatalf("failed to flush : %s", err) + log.Errorf("failed to flush : %s", err) } } }