diff options
Diffstat (limited to 'cleaner.go')
-rw-r--r-- | cleaner.go | 15 |
1 files changed, 11 insertions, 4 deletions
@@ -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 } |