internal override void ProcessResults(Parameters parameters, RunEntity run, XElement xresults) { bool need_another_iteration = false; List <string> curlist = GetVarlist(parameters.xpluginstate); // extract the preemption variables from results, then check if there are any new ones IEnumerable <XElement> pvs = xresults.Descendants(XSessionNames.PreemptionVars); if (pvs.Count() > 0) { foreach (string s in pvs.Single().Value.Split(new char[] { ',' })) { if (!curlist.Contains(s)) { need_another_iteration = true; curlist.Add(s); } } } if (need_another_iteration) { SetVarlist(parameters.xpluginstate, curlist); LaunchNextIteration(parameters); } }
public ClusterTask CreateTask(RunEntity run) { ClusterTask task = new ClusterTask(this, run); task.UpdateStatus(); return(task); }
public bool Put(int id, [FromBody] RunEntity value) { if (id > 0) { return(_service.Update(id, value)); } return(false); }
public ClusterTask(ClusterBackend backend, RunEntity runEntity) : base(backend, runEntity) { this.backend = backend; if (submitted) { jobnumber = (int)Run.DataElement.Element(XSessionNames.Job); backend.AddPollJob(jobnumber); backend.AddTask(this); State = HpcInterface.Taskstate.Unknown; } else { State = HpcInterface.Taskstate.Unknown; } }
internal void NewResults(RunEntity run, XElement xresults) { CreateNewPluginInstance().ProcessResults(GetPluginParameters(), run, xresults); }
public int Post([FromBody] RunEntity value) { return(_service.Create(value)); }
ITaskHandle IBackend.CreateTask(RunEntity run) { return(CreateTask(run)); }
public void Store(Run run) { var runEntity = new RunEntity(run.TestRunGuid, run.ProjectName, run.StartDate); TableOperation insertOperation = TableOperation.Insert(runEntity); _cloudTable.Execute(insertOperation); }
// called whenever results are coming back for a run internal abstract void ProcessResults(Parameters parameters, RunEntity run, XElement xresults);