llmongodb/remover.go

44 lines
816 B
Go
Raw Normal View History

2015-11-20 15:23:12 +01:00
// finalizer
package main
import (
"fmt"
2015-11-23 18:07:07 +01:00
// "log"
2015-11-20 15:23:12 +01:00
"time"
)
2015-11-23 17:39:17 +01:00
func remover(id int) {
2015-11-20 15:23:12 +01:00
var conn = dbs.rdb.Get()
defer conn.Close()
2015-11-23 17:39:17 +01:00
for {
rem := <-remove[id]
2015-11-20 15:23:12 +01:00
2015-11-23 17:39:17 +01:00
// wg.Add(1)
2015-11-20 15:23:12 +01:00
start := time.Now()
for i := range rem.logins {
login := rem.logins[i]
// cancella da Redis la riga di login inserita partendo da 1
conn.Send("lrem", rem.user, "1", login)
2015-11-20 15:23:12 +01:00
}
if rem.error {
if opts.Debug {
fmt.Printf("SADD (%d): %s\n", id, rem.user)
}
conn.Send("sadd", "llindex", rem.user)
if count.GetErr() >= opts.MaxError {
exit()
}
}
conn.Send("expire", rem.user, opts.RedisTTL.Seconds())
2015-11-20 15:23:12 +01:00
conn.Flush()
2015-11-23 17:39:17 +01:00
count.AddRem(len(rem.logins))
2015-11-20 15:23:12 +01:00
if opts.Debug {
2015-11-24 16:18:39 +01:00
fmt.Printf("LREM (%d): %s - %d - %+v\n", id, rem.user, len(rem.logins), time.Since(start))
2015-11-20 15:23:12 +01:00
}
2015-11-23 17:39:17 +01:00
wg.Done()
count.DelWG(id)
2015-11-20 15:23:12 +01:00
}
}