Commit 7211cda0 authored by vicotor's avatar vicotor

fix bug

parent 2e964852
......@@ -30,26 +30,28 @@ type Worker struct {
func PopWorker(rdb *redis.Client) (Worker, error) {
for i := 0; i < maxPriority; i++ {
elem, err := rdb.LPop(context.Background(), config.WORKER_QUEUE_PREFIX+strconv.Itoa(i)).Result()
if err != nil {
log.WithError(err).Error("lPop worker failed")
continue
}
log.WithField("elem", elem).Debug("lPop worker")
managerList, err := rdb.SMembers(context.Background(), config.WORKER_STATUS_PREFIX+elem).Result()
if err != nil {
log.WithError(err).Error("get worker status failed")
continue
}
log.WithField("managerList", managerList).Debug("get worker status")
if len(managerList) == 0 {
continue
for {
elem, err := rdb.LPop(context.Background(), config.WORKER_QUEUE_PREFIX+strconv.Itoa(i)).Result()
if err != nil {
log.WithError(err).Error("lPop worker failed")
break
}
log.WithField("elem", elem).Debug("lPop worker")
managerList, err := rdb.SMembers(context.Background(), config.WORKER_STATUS_PREFIX+elem).Result()
if err != nil {
log.WithError(err).Error("get worker status failed")
continue
}
log.WithField("managerList", managerList).Debug("get worker status")
if len(managerList) == 0 {
continue
}
return Worker{
workerid: elem,
priority: i,
managers: managerList,
}, nil
}
return Worker{
workerid: elem,
priority: i,
managers: managerList,
}, nil
}
return Worker{}, ErrNoWorker
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment