Ejemplo n.º 1
0
        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();//扩容操作
            }
        }