// 接收和报告错误。 func reportError( scheduler sched.Scheduler, record Record, stopNotifier <-chan byte) { go func() { // 等待调度器开启 waitForSchedulerStart(scheduler) for { // 查看监控停止通知器 select { case <-stopNotifier: return default: } errorChan := scheduler.ErrorChan() if errorChan == nil { return } err := <-errorChan if err != nil { errMsg := fmt.Sprintf("Error (received from error channel): %s", err) record(2, errMsg) } time.Sleep(time.Microsecond) } }() }