summaryrefslogtreecommitdiff
path: root/cleaner.go
diff options
context:
space:
mode:
Diffstat (limited to 'cleaner.go')
-rw-r--r--cleaner.go15
1 files changed, 11 insertions, 4 deletions
diff --git a/cleaner.go b/cleaner.go
index 3d47f39..bdf4cae 100644
--- a/cleaner.go
+++ b/cleaner.go
@@ -9,7 +9,7 @@ import (
"time"
)
-func cleanData(conf Config, db_user, db_pass, db_conn, db_name string) (err error) {
+func cleanData(conf Config, db_user, db_pass, db_conn, db_name string) (rowsLeft int, err error) {
db, err := sql.Open("mysql", db_user+":"+db_pass+"@"+db_conn+"/"+db_name)
if err != nil {
@@ -26,10 +26,12 @@ func cleanData(conf Config, db_user, db_pass, db_conn, db_name string) (err erro
interval, err := conf.getInterval()
if err != nil {
- return err
+ return
}
+
+ cleanLimit := time.Now().Add(-2 * interval)
//Fetch data that should be cleaned
- rDat, err := fetchRawData(db, time.Now().Add(-2*interval), conf.Limit)
+ rDat, err := fetchRawData(db, cleanLimit, conf.Limit)
if err != nil {
log.Println("Faild to fetch raw data")
return
@@ -65,9 +67,14 @@ func cleanData(conf Config, db_user, db_pass, db_conn, db_name string) (err erro
log.Println("Failed to remove old data")
return
}
+ rowsLeft, err = availableRows(tx, cleanLimit)
+ if err != nil {
+ tx.Rollback()
+ log.Println("Failed to fetch available rows")
+ return
+ }
tx.Commit()
-
return
}