33 lines
639 B
Go
33 lines
639 B
Go
|
// iterator
|
||
|
package main
|
||
|
|
||
|
import (
|
||
|
"fmt"
|
||
|
"github.com/garyburd/redigo/redis"
|
||
|
"log"
|
||
|
)
|
||
|
|
||
|
func producer() {
|
||
|
conn := dbs.rdb.Get()
|
||
|
defer conn.Close()
|
||
|
|
||
|
for loop {
|
||
|
// estrae un userid dalla lista degli utenti che hanno fatto login
|
||
|
user, err := redis.String(conn.Do("spop", "llindex"))
|
||
|
if opts.Debug {
|
||
|
log.Printf("SPOP: %+v %+v - conn: %d\n\r", user, err)
|
||
|
fmt.Printf("SPOP: %+v %+v - conn: %d\n\r", user, err)
|
||
|
}
|
||
|
// se non ci sono piu' userid esce
|
||
|
if err != nil {
|
||
|
if opts.Debug {
|
||
|
log.Printf("LLINDEX empty: %v\n\r", err)
|
||
|
fmt.Printf("LLINDEX empty: %v\n\r", err)
|
||
|
}
|
||
|
break
|
||
|
}
|
||
|
msgs <- user
|
||
|
}
|
||
|
done <- true
|
||
|
}
|