Exemple #1
0
        private async Task GetPoolInfosAsync(HttpContext context, Match m)
        {
            var response = new GetPoolsResponse
            {
                Pools = clusterConfig.Pools.Where(x => x.Enabled).Select(config =>
                {
                    var stats = cf.Run(con => statsRepo.GetLastPoolStats(con, config.Id));

                    var result = config.ToPoolInfo(mapper, stats);

                    result.TotalPaid = cf.Run(con => statsRepo.GetTotalPoolPayments(con, config.Id));
#if DEBUG
                    var from = new DateTime(2018, 1, 6, 16, 0, 0);
#else
                    var from = clock.Now.AddDays(-1);
#endif
                    result.TopMiners = cf.Run(con => statsRepo.PagePoolMinersByHashrate(
                                                  con, config.Id, from, 0, 15))
                                       .Select(mapper.Map <MinerPerformanceStats>)
                                       .ToArray();

                    return(result);
                }).ToArray()
            };

            await SendJsonAsync(context, response);
        }
Exemple #2
0
        private void LoadStats()
        {
            try
            {
                logger.Debug(() => $"[{LogCat}] Loading pool stats");

                var stats = cf.Run(con => statsRepo.GetLastPoolStats(con, poolConfig.Id));

                if (stats != null)
                {
                    poolStats = mapper.Map <PoolStats>(stats);
                }
            }

            catch (Exception ex)
            {
                logger.Warn(ex, () => $"[{LogCat}] Unable to load pool stats");
            }
        }
Exemple #3
0
        private void LoadStats()
        {
            try
            {
                logger.Debug(() => $"[{LogCat}] Loading pool stats");

                var stats = cf.Run(con => statsRepo.GetLastPoolStats(con, poolConfig.Id));

                if (stats != null)
                {
                    poolStats.ConnectedMiners = stats.ConnectedMiners;
                    poolStats.PoolHashRate    = (ulong)stats.PoolHashRate;
                }
            }

            catch (Exception ex)
            {
                logger.Warn(ex, () => $"[{LogCat}] Unable to load pool stats");
            }
        }