diff options
author | Ben Morrison <ben@gbmor.dev> | 2019-06-13 23:58:17 -0400 |
---|---|---|
committer | Ben Morrison <ben@gbmor.dev> | 2019-06-13 23:58:22 -0400 |
commit | df8fa27ffa596e02d0560aa9238f194911c03e56 (patch) | |
tree | 882ddbc7cfa6be1123a77fc84b01c124623707d4 | |
parent | c4130e200d1282c1637c6f79332593026c87993d (diff) | |
download | getwtxt-df8fa27ffa596e02d0560aa9238f194911c03e56.tar.gz |
on SIGINT, push to DB before shutting down
also logging elapsed time for DB pulls
-rw-r--r-- | svc/db.go | 5 | ||||
-rw-r--r-- | svc/init.go | 6 |
2 files changed, 10 insertions, 1 deletions
diff --git a/svc/db.go b/svc/db.go index 260c5cc..2156f40 100644 --- a/svc/db.go +++ b/svc/db.go @@ -1,6 +1,9 @@ package svc // import "github.com/getwtxt/getwtxt/svc" import ( + "log" + "time" + "github.com/syndtr/goleveldb/leveldb" "golang.org/x/sys/unix" ) @@ -68,7 +71,9 @@ func pushDB() error { // Reads the database from disk into memory. func pullDB() { + start := time.Now() db := <-dbChan db.pull() dbChan <- db + log.Printf("Database pull took: %v\n", time.Since(start)) } diff --git a/svc/init.go b/svc/init.go index edd081c..b00f45d 100644 --- a/svc/init.go +++ b/svc/init.go @@ -109,8 +109,12 @@ func watchForInterrupt() { go func() { for sigint := range c { - log.Printf("Caught %v. Cleaning up ...\n", sigint) + log.Printf("Caught %v\n", sigint) + log.Printf("Pushing to database ...\n") + pushDB() + + log.Printf("Cleaning up ...\n") killTickers() killDB() |