// iterator package main import ( "fmt" "github.com/garyburd/redigo/redis" "log" "time" ) func producer() { conn := dbs.rdb.Get() defer conn.Close() for loop { start := time.Now() // 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\n\r", user, err) fmt.Printf("SPOP: %+v - %+v\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 fmt.Printf("PROD: user=%s in %v - conn=%d\n\r", user, time.Since(start), dbs.rdb.ActiveCount()) } }