public string AddOrEditForDomain(PerformanceAnalysisDmnViewModel domainViewModel) { var domainDto = new DomainExaminationDto(); try { if (domainViewModel.Id != null) { domainDto = domainExaminationService.GetById(domainViewModel.Id); } domainDto.Protocol = domainViewModel.Protocol; domainDto.Domain = domainViewModel.Domain; domainDto.CustomerId = domainViewModel.CustomerId; domainDto.Status = (int)StatusEnum.enabled; domainDto.ToStartTime = Convert.ToDateTime(domainViewModel.ToStartTime).ToLocalTime(); domainDto.ToEndTime = Convert.ToDateTime(domainViewModel.ToEndTime).ToLocalTime(); domainDto.Interval = domainViewModel.Interval; domainDto.BrowserType = domainViewModel.BrowserType; domainDto.TestType = domainViewModel.TestType; domainDto.LastExecuted = DateTime.Now.AddHours(-3).ToLocalTime(); domainExaminationService.AddOrEdit(domainDto); } catch (Exception ex) { log.Error(ex); } return(JsonConvert.SerializeObject(new { result = "true" })); }
public void Run() { var serverList = serverInformationService.GetAll(); var taskList = new List <Task>(); foreach (var server in serverList) { var domainList = JsonConvert.SerializeObject(_urlList.Select(s => s.Protocol + s.Domain).ToList()); var client = new RestClient($"http://{server.ServerIp}:9487/api/PerformanceTest"); var request = new RestRequest(Method.POST) { RequestFormat = DataFormat.Json }; request.AddOrUpdateParameter("passwd", "Toffstech_Performance-Monitoring@48969487"); request.AddOrUpdateParameter("jsonDomain", domainList); request.Timeout = 5 * 60 * 1000; taskList.Add(Task.Run(() => { var response = client.Execute(request); Console.WriteLine($"{DateTime.Now} - {server.ServerIp} API called."); })); } Task.WhenAll(taskList); var utcNow = DateTime.UtcNow; var now = new DateTime(utcNow.Year, utcNow.Month, utcNow.Day, utcNow.Hour, utcNow.Minute / 5 * 5, 0, 0, DateTimeKind.Utc); foreach (var record in _urlList) { record.LastExecuted = utcNow; domainExaminationService.AddOrEdit(record); } }