43 lines
804 B
Go
43 lines
804 B
Go
// finalizer
|
|
package main
|
|
|
|
import (
|
|
"fmt"
|
|
// "log"
|
|
"time"
|
|
)
|
|
|
|
func remover(id int) {
|
|
var conn = dbs.rdb.Get()
|
|
defer conn.Close()
|
|
|
|
for {
|
|
rem := <-remove[id]
|
|
|
|
// wg.Add(1)
|
|
|
|
start := time.Now()
|
|
for i := range rem.logins {
|
|
login := rem.logins[i]
|
|
// cancella da Redis la riga di login inserita
|
|
conn.Send("lrem", rem.user, "0", login)
|
|
}
|
|
if rem.error {
|
|
if opts.Debug {
|
|
fmt.Printf("SADD (%d): %s\n", id, rem.user)
|
|
}
|
|
conn.Send("sadd", "llindex", rem.user)
|
|
if count.ValErr() >= opts.MaxError {
|
|
exit()
|
|
}
|
|
}
|
|
conn.Send("expire", rem.user, opts.RedisTTL.Seconds())
|
|
conn.Flush()
|
|
count.AddRem(len(rem.logins))
|
|
if opts.Debug {
|
|
fmt.Printf("LREM (%d): %s - %d - %+v\n\r", id, rem.user, len(rem.logins), time.Since(start))
|
|
}
|
|
wg.Done()
|
|
count.RemWG(id)
|
|
}
|
|
}
|