Closed cwr31 closed 3 years ago
`func (m Master) ReportTask(args ReportTaskArgs, reply *ReportTaskReply) error { m.mu.Lock() defer m.mu.Unlock()
DPrintf("get report task: %+v, taskPhase: %+v", args, m.taskPhase) if m.taskPhase != args.Phase || args.WorkerId != m.taskStats[args.Seq].WorkerId { return nil } if args.Done { m.taskStats[args.Seq].Status = TaskStatusFinish } else { m.taskStats[args.Seq].Status = TaskStatusErr } go m.schedule() return nil
}`
请问其中go m.schedule()的作用是什么? 为什么ReportTask后,tickSchedule就会不继续tick了呢?
go m.schedule()
sorry my fault
`func (m Master) ReportTask(args ReportTaskArgs, reply *ReportTaskReply) error { m.mu.Lock() defer m.mu.Unlock()
}`
请问其中
go m.schedule()
的作用是什么? 为什么ReportTask后,tickSchedule就会不继续tick了呢?