//任务列表
func (jobMgr *JobMgr)JobList()(jobList []*common.Job, err error) {
var(
resp *clientv3.GetResponse
job *common.Job
)
//获取目录中所有的key
if resp, err = G_jobMgr.Kv.Get(context.TODO(), common.JOB_SAVE_DIR, clientv3.WithPrefix()); err != nil{
fmt.Println(err)
return
}
//fmt.Println(resp.Kvs)
// 初始化数组空间
//jobList = make([]*common.Job, 0)
for _, v := range resp.Kvs{
//fmt.Println("kvs","----", string(v.Value))
if err = json.Unmarshal(v.Value, &job); err != nil{
err = nil
fmt.Println("json.Unmarshal(v.Value, &job)", err)
continue //TODO:continue只是将当前解析错误的结构体job忽略了,但err并不为nil,所以会导致接受变量收到这个错误,所以需要将err置为nil
}
fmt.Println(job)
jobList = append(jobList, job)
}
//fmt.Println("jobList", jobList)
return
}复制代码
转载于:https://juejin.im/post/5d01c234f265da1b6b1cd011