示例#1
0
文件: jobqueue.go 项目: nutrun/glow
func queryTubes(q *lentil.Beanstalkd) (map[string]*Tube, error) {
	tubes := make(map[string]*Tube)
	names, e := q.ListTubes()
	if e != nil {
		return nil, e
	}
	for _, tube := range names {
		if tube == "default" {
			continue
		}
		tubestats, e := q.StatsTube(tube)
		if e != nil {
			continue
		}
		ready, _ := strconv.Atoi(tubestats["current-jobs-ready"])
		reserved, _ := strconv.Atoi(tubestats["current-jobs-reserved"])
		delayed, _ := strconv.Atoi(tubestats["current-jobs-delayed"])
		pause, _ := strconv.Atoi(tubestats["pause"])
		tubes[tube] = NewTube(tube, uint(reserved), uint(ready), uint(delayed), uint(pause))
	}
	return tubes, nil
}