Example #1
0
        public ActionResult Create(Job job)
        {
            string body = "";
            if (Request.Form.HasKeys())
            {
                foreach (string x in Request.Form)
                {
                    body = body + x + "=" + Request.Form[x] + "\n";
                }
            }
            string jobName = "CMAES" + DateTime.Now.Second.ToString();

            Messaging messaging = new Messaging();

            IMapMessage response = messaging.RequestMap(jobName, "AddJob", body);

               job.IsTemplate = false;
               job.Name = jobName;
               job.Problem_Id = 1;
               job.Status = "Submitted";
               job.StartTime = DateTime.Now;
               _jobRepository.AddJob(job);

               Thread.Sleep(1000);

            Response.Redirect("/default.aspx");
            return View(job);
              //  var jobs = _jobRepository.FindAllJobs();
            //return View(jobs);

            //if (ModelState.IsValid)
            //{
            //    try
            //    {
            //        _jobRepository.AddJob(job);
            //        return RedirectToAction("Index");
            //    }
            //    catch
            //    {
            //        return View(job);
            //    }
            //}
            //else
            //{
            //    return View(job);
            //}
        }
Example #2
0
        //
        // GET: /Job/
        public ActionResult Index()
        {
            var jobs = _jobRepository.FindAllJobs();

            if (Request.IsAjaxRequest())
            {
                var jsonJob = from job in jobs
                              where job.IsTemplate == true
                              select new JsonJob
                              {
                                  JobName = job.Name,
                                  JobDesc = "",
                                  ProblemName = job.Problem.Name,
                                  ProblemDesc = job.Problem.Description,
                                  Job_Id = job.Job_Id,
                                  Problem_Id = job.Problem_Id
                              };

                return Json(jsonJob.ToList());
            }

            jobs = from job in _jobRepository.FindAllJobs()
                   where job.IsTemplate == false
                   select job;

            Messaging messaging = new Messaging();
            foreach (Job j in jobs)
            {
                if (String.IsNullOrEmpty(j.Status) || (!j.Status.Trim().Equals("Complete") && !j.Status.Trim().Equals("Orphan")))
                {
                    try
                    {
                        IMapMessage mapMessage = messaging.RequestMap(j.Name, "GetStatus", "");
                        String status = mapMessage.Body.GetString("BODY");
                        j.Status = status;
                        if (status.Trim().Equals("Complete"))
                            j.EndTime = DateTime.Now;

                        _jobRepository.UpdateJob(j);
                    }
                    catch { }
                }

            }

            return View(jobs);
        }
Example #3
0
        //
        // GET: /Job/Details/5
        public ActionResult Details(int id)
        {
            String stats = "";
            Messaging messaging = new Messaging();
            var job = _jobRepository.GetJob(id);
            JobViewModel model = new JobViewModel();

            if (String.IsNullOrEmpty(job.Status) || !job.Status.Trim().Equals("Complete"))
            {

                IMapMessage mapMessage = messaging.RequestMap(job.Name, "GetStatus", "");
                job.Status = mapMessage.Body.GetString("BODY");
                if (job.Status.Trim().Equals("Complete"))
                    job.EndTime = DateTime.Now;

                ITextMessage response = messaging.RequestText(job.Name, "GetStatistics", "");
                // String stats = response.Body.GetString("BODY");
                stats = response.Text;
                stats = stats.Substring(9, stats.Length - 12);

                job.Stats = stats;

                _jobRepository.UpdateJob(job);
            }
            else
            {
                stats = job.Stats;
            }

            XmlDocument xmlStats = new XmlDocument();
            xmlStats.LoadXml(stats);
            XmlNodeList nodeList = xmlStats.SelectNodes("//genStat");
            Console.WriteLine("maxValues.Count " + nodeList.Count.ToString());
            ChartData[] data = new ChartData[nodeList.Count];

            for (int i = 0; i < nodeList.Count; i++)
            {
                ChartData chartData = new ChartData();
                chartData.Iteration = Int32.Parse(nodeList[i].Attributes["Iteration"].Value);
                chartData.EvalNum = Int32.Parse(nodeList[i].Attributes["EvalNum"].Value);
                chartData.Max = Double.Parse(nodeList[i].Attributes["Max"].Value);
                chartData.Min = Double.Parse(nodeList[i].Attributes["Min"].Value);
                chartData.StdDev = Double.Parse(nodeList[i].Attributes["StdDev"].Value);
                chartData.Mean = Double.Parse(nodeList[i].Attributes["Mean"].Value);
               // chartData.Best = nodeList[i].Attributes["Best"].Value;
                data[i] = chartData;

            }

            XmlNode xmlNode = xmlStats.SelectSingleNode("//finalStat");

            if (xmlNode != null)
            {
                if (xmlNode.Attributes["bestIndividual"] != null)
                {
                    model.BestIndivilual = xmlNode.Attributes["bestIndividual"].Value.Split(',');
                }

                if (xmlNode.Attributes["stopConditions"] != null)
                {
                    model.StopMessage = xmlNode.Attributes["stopConditions"].Value;
                }

            }

            model.chartData = data;
            model.job = job;

              //   Response.Write("Stats: " + response.Body.GetString("BODY"));

               // Response.Write("Stats: " + response.Body.ToString());
               // Response.End();
             return View(model);
        }