private void DoAlarm(Object state) { while (_bag.TryTake(out var appId)) { //Process(appId); } // 应用告警 var list = AppTracer.FindAllWithCache(); foreach (var item in list) { ProcessAppTracer(item); } // 节点告警 var nodes = Node.FindAllWithCache(); foreach (var item in nodes) { ProcessNode(item); } // Redis告警 var rnodes = RedisNode.FindAllWithCache(); foreach (var item in rnodes) { ProcessRedisNode(item); } if (Period > 0) { _timer.Period = Period * 1000; } }