Commit 7211cda0 authored by vicotor's avatar vicotor

fix bug

parent 2e964852
...@@ -30,26 +30,28 @@ type Worker struct { ...@@ -30,26 +30,28 @@ type Worker struct {
func PopWorker(rdb *redis.Client) (Worker, error) { func PopWorker(rdb *redis.Client) (Worker, error) {
for i := 0; i < maxPriority; i++ { for i := 0; i < maxPriority; i++ {
elem, err := rdb.LPop(context.Background(), config.WORKER_QUEUE_PREFIX+strconv.Itoa(i)).Result() for {
if err != nil { elem, err := rdb.LPop(context.Background(), config.WORKER_QUEUE_PREFIX+strconv.Itoa(i)).Result()
log.WithError(err).Error("lPop worker failed") if err != nil {
continue 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() log.WithField("elem", elem).Debug("lPop worker")
if err != nil { managerList, err := rdb.SMembers(context.Background(), config.WORKER_STATUS_PREFIX+elem).Result()
log.WithError(err).Error("get worker status failed") if err != nil {
continue log.WithError(err).Error("get worker status failed")
} continue
log.WithField("managerList", managerList).Debug("get worker status") }
if len(managerList) == 0 { log.WithField("managerList", managerList).Debug("get worker status")
continue 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 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