public void Test1()
        {
            using var st = new RedisStat(_redis, "SiteDayStat")
                  {
                      OnSave = OnSave
                  };

            // 降低延迟队列间隔
            var q  = st.GetValue("_queue") as RedisReliableQueue <String>;
            var dq = q.InitDelay();

            dq.TransferInterval = 2;

            // 计算key
            var date = DateTime.Today;
            var key  = $"SiteDayStat:2743-{date:MMdd}";

            // 累加统计
            st.Increment(key, "Total", 1);
            if (Rand.Next(2) > 0)
            {
                st.Increment(key, "Error", 1);
            }
            st.Increment(key, "Cost", Rand.Next(10, 100));

            // 变动key进入延迟队列
            st.AddDelayQueue(key, 2);

            Thread.Sleep(4_000);
            XTrace.WriteLine("Test1 finished");
        }
Beispiel #2
0
 public GatewayWithStats(string ID, string name)
     : base(ID, name)
 {
     JsConfig.AssumeUtc = true;
     redisClient        = (RedisClient)redis.GetClient();
     exceptions         = new RedisStat(redisClient, ID + ":" + MemberInfoGetting.GetMemberName(() => exceptions));
     rejects            = new RedisStat(redisClient, ID + ":" + MemberInfoGetting.GetMemberName(() => rejects));
     requests           = new RedisStat(redisClient, ID + ":" + MemberInfoGetting.GetMemberName(() => requests));
     cancels            = new RedisStat(redisClient, ID + ":" + MemberInfoGetting.GetMemberName(() => cancels));
     fare      = new RedisStat(redisClient, ID + ":" + MemberInfoGetting.GetMemberName(() => fare));
     completes = new RedisStat(redisClient, ID + ":" + MemberInfoGetting.GetMemberName(() => completes));
     distance  = new RedisStat(redisClient, ID + ":" + MemberInfoGetting.GetMemberName(() => distance));
 }
Beispiel #3
0
 public GatewayWithStats(string ID, string name)
     : base(ID, name)
 {
     JsConfig.AssumeUtc = true;
     redisClient = (RedisClient)redis.GetClient();
     exceptions = new RedisStat(redisClient, ID + ":" + MemberInfoGetting.GetMemberName(() => exceptions));
     rejects = new RedisStat(redisClient, ID + ":" + MemberInfoGetting.GetMemberName(() => rejects));
     requests = new RedisStat(redisClient, ID + ":" + MemberInfoGetting.GetMemberName(() => requests));
     cancels = new RedisStat(redisClient, ID + ":" + MemberInfoGetting.GetMemberName(() => cancels));
     fare = new RedisStat(redisClient, ID + ":" + MemberInfoGetting.GetMemberName(() => fare));
     completes = new RedisStat(redisClient, ID + ":" + MemberInfoGetting.GetMemberName(() => completes));
     distance = new RedisStat(redisClient, ID + ":" + MemberInfoGetting.GetMemberName(() => distance));
 }