Пример #1
0
        protected BuildXLStats GetStats(string sessionId)
        {
            var invocation = GetInvocation(sessionId);
            var filePath   = Path.Combine(invocation.LogsFolder, LogNamePrefix + ".stats");

            return(Cache.GetOrCreate(
                       "build/" + sessionId + "/stats",
                       newEntry =>
            {
                if (!System.IO.File.Exists(filePath))
                {
                    throw new ExplorerException("Stats file not found");
                }

                if (!BuildXLStats.TryLoadStatsFile(filePath, out var stats))
                {
                    throw new ExplorerException("Error reading stats file");
                }

                newEntry.SlidingExpiration = TimeSpan.FromMinutes(30);
                return stats;
            }
                       ));
        }