public async Task HeathCheck() { var unAvailables = Slices.Where(child => child.IsUnAvailable).ToList(); if (unAvailables.Count > 0) { foreach (var slice in unAvailables) { slice.Close(); Slices.Remove(slice); NowQos -= slice.Qos; } if (NowQos < Consumer.MinQos) { await Run(); } } else if ((DateTimeOffset.UtcNow - StartTime).TotalMinutes >= 5) { await ExpandQos();//扩容操作 } }