예제 #1
0
        private string RabbitQueueChecker()
        {
            var connstr = Config.GetString("jobmoni:rabbitconn", "");
            var rabbitmqmsgsafecount = Config.GetInt("jobmoni:rabbitmqmsgsafecount", 1000);

            if (string.IsNullOrWhiteSpace(connstr))
            {
                return(null);
            }
            int trytimes   = 2;
            int errorcount = 0;

            while (trytimes > 0)
            {
                trytimes--;

                try
                {
                    rabbitmqmsgsafecount = Math.Max(200, rabbitmqmsgsafecount);
                    RabbitMQMonitor rabbitMQMonitor = new RabbitMQMonitor(connstr);
                    var             msg             = rabbitMQMonitor.Check(rabbitmqmsgsafecount);
                    if (string.IsNullOrWhiteSpace(msg))
                    {
                        return(null);
                    }
                    return(msg);
                }
                catch (Exception ex)
                {
                    System.Threading.Thread.Sleep(TimeSpan.FromSeconds(1));
                    errorcount++;
                }
            }
            if (errorcount > 0)
            {
                return("rabbitapi状态异常!");
            }
            return(null);
        }
예제 #2
0
            public static void Test()
            {
                var msg = new RabbitMQMonitor("amqp://*****:*****@192.168.33.144:5672//").Check(1000);

                Console.WriteLine(msg);
            }