summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorBen Morrison <ben@gbmor.dev>2019-06-13 23:58:17 -0400
committerBen Morrison <ben@gbmor.dev>2019-06-13 23:58:22 -0400
commitdf8fa27ffa596e02d0560aa9238f194911c03e56 (patch)
tree882ddbc7cfa6be1123a77fc84b01c124623707d4
parentc4130e200d1282c1637c6f79332593026c87993d (diff)
downloadgetwtxt-df8fa27ffa596e02d0560aa9238f194911c03e56.tar.gz
on SIGINT, push to DB before shutting down
also logging elapsed time for DB pulls
-rw-r--r--svc/db.go5
-rw-r--r--svc/init.go6
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()