public Task Execute(IJobExecutionContext context) { JobDataMap dataMap = context.JobDetail.JobDataMap; Console.WriteLine($"Execute Code for {dataMap.GetString("filePath")} - {dataMap.GetString("id")} is now running at {DateTime.Now.ToString()} and a random number is : {new Random().Next(0, 99999)}"); string filePath = dataMap.GetString("filePath"); string baseAddress = $"{dataMap.GetString("baseurl")}code"; // try { WebRequest reqObj = WebRequest.Create(baseAddress); reqObj.Method = "POST"; reqObj.ContentType = "application/json"; filePath = filePath.Replace("\\", "\\\\"); string requestBody = "{\"filePath\":\"" + filePath + "\",\"params\":\"" + string.Empty + "\"}"; byte[] byteArray = Encoding.UTF8.GetBytes(requestBody); using (StreamWriter writer = new StreamWriter(reqObj.GetRequestStream())) { writer.Write(requestBody); writer.Flush(); writer.Close(); var response = (HttpWebResponse)reqObj.GetResponse(); using (var rdr = response.GetResponseStream()) { DataContractJsonSerializer deserializer = new DataContractJsonSerializer(typeof(ExecuteCodeResponse)); ExecuteCodeResponse executeCodeResp = (ExecuteCodeResponse)deserializer.ReadObject(rdr); executeCodeResp.executedAt = DateTime.Now; JobSchedulerHelper.AddZMKResponses(dataMap.GetString("id"), executeCodeResp); } } } catch (Exception ex) { Console.WriteLine(ex.StackTrace); } return(Task.FromResult(0)); }
public async Task <IActionResult> GetSelectedTaskAysnc(string id) { var taskData = SchedulerPayload.Get().Where(s => s.Id == id).FirstOrDefault(); var _type = SchedulerPayload.Get().Where(s => s.Id == id).Select(t => t.Type).FirstOrDefault(); List <object> taskHistNew = new List <object>(); if (!string.IsNullOrEmpty(taskData.Id)) { string origid = ""; if (id.IndexOf('-') > 0) { origid = id.Substring(0, id.IndexOf('-')); } else { origid = id; } var resp = await nnclient.GetRunningTaskByTaskName(origid); if ((JObject.Parse(resp)["runningTask"].Count() == 0) && (taskData.Id != taskData.Name)) { resp = await nnclient.GetRunningTaskByTaskName(origid.Substring(0, origid.IndexOf(taskData.Name))); } var joResp = JsonConvert.DeserializeObject <ZMM.Models.ClientJsonObjects.ZMKCodeExecution.RootObject>(resp); JArray jArr = JArray.FromObject(joResp.runningTask); Console.WriteLine($">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>ZMK RUNNING TASK: {joResp}"); // JObject joResp = JObject.Parse(resp); // JArray jArr = (JArray)joResp["runningTask"]; // if (taskData.Recurrence == "REPEAT") { taskHistNew.Clear(); foreach (var j in taskData.History) { if (_type.Contains("PYTHON")) { ExecuteCodeResponse ecr = (ExecuteCodeResponse)j; string _status = jArr.Where(s => s["idforData"].ToString() == ecr.idforData).Select(s => s["status"].Value <string>()).FirstOrDefault(); ecr.status = _status; taskHistNew.Add(ecr); } if (_type.Contains("AUTOML")) { AutoMLResponse obj = (AutoMLResponse)j; string _status = jArr.Where(s => s["idforData"].ToString() == obj.idforData).Select(s => s["status"].Value <string>()).FirstOrDefault(); obj.status = _status; taskHistNew.Add(obj); } if (_type.Contains("NN")) { TrainingResponse obj = (TrainingResponse)j; string _status = jArr.Where(s => s["idforData"].ToString() == obj.idforData).Select(s => s["status"].Value <string>()).FirstOrDefault(); obj.status = _status; taskHistNew.Add(obj); } } } else if (taskData.Recurrence == "ONE_TIME") { taskHistNew.Clear(); foreach (var j in taskData.History) { if (j.ToString() == "ZMM.Models.ResponseMessages.TrainingResponse") { TrainingResponse jlist = (TrainingResponse)j; string _idfordata = jArr.Where(s => s["idforData"].ToString() == jlist.idforData).Select(s => s["idforData"].Value <string>()).FirstOrDefault(); if (!string.IsNullOrEmpty(_idfordata)) { JObject obj = JObject.FromObject(new { idforData = _idfordata, status = jArr.Where(s => s["idforData"].ToString() == jlist.idforData).Select(s => s["status"].Value <string>()).FirstOrDefault(), executedAt = jlist.executedAt }); taskHistNew.Add(obj); } } else { var jo = JObject.Parse(j.ToString()); string _idfordata = jArr.Where(s => s["idforData"].ToString() == jo["idforData"].ToString()).Select(s => s["idforData"].Value <string>()).FirstOrDefault(); if (!string.IsNullOrEmpty(_idfordata)) { JObject obj = JObject.FromObject(new { idforData = _idfordata, status = jArr.Where(s => s["idforData"].ToString() == jo["idforData"].ToString()).Select(s => s["status"].Value <string>()).FirstOrDefault(), executedAt = jo["executedAt"].ToString() }); taskHistNew.Add(obj); } } } } taskData.History.Clear(); taskData.History = taskHistNew; SchedulerPayload.Update(taskData); return(Json(SchedulerPayload.Get().Where(s => s.Id == id).FirstOrDefault())); } else { return(Ok(new { })); } }