コード例 #1
0
        public ActionResult MapperProgress()
        {
            var log = ProcHttpClient.GetLog("Mapper", 0)
                      .Split(new[] { "\r\n" }, StringSplitOptions.RemoveEmptyEntries)
                      .Select(s => s.Split(new[] { '|' }, 2));

            if (!log.Any())
            {
                return(Content(""));
            }

            if (log.Last()[1] == "Process Ended!")
            {
                ProcHttpClient.ClearLog("Mapper");
                return(Content("Completed"));
            }

            var lastProg = log.LastOrDefault(s => s[1].Contains("% complete"));

            if (lastProg == null)
            {
                return(Content("0%"));
            }

            return(Content(lastProg[1].Split(' ')[8]));
        }
コード例 #2
0
        public ActionResult GetOutput(long since = 0)
        {
            var log = ProcHttpClient.GetLog("McServer", since)
                      .Split(new[] { "\r\n" }, StringSplitOptions.RemoveEmptyEntries)
                      .Select(s => s.Split(new[] { '|' }, 2));

            var lastTimestamp = log.Last()[0];

            var result = new
            {
                Output = log.Aggregate("", (s1, s2) =>
                                       s1 + HttpUtility.HtmlEncode(s2[1]) + "<br />\r\n"),
                LastTimestamp = lastTimestamp,
                Ticks         = DateTime.Now.Ticks,
            };

            return(Json(result, JsonRequestBehavior.AllowGet));
        }