Example #1
0
        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);
            }
        }
Example #2
0
        public ClusterTask CreateTask(RunEntity run)
        {
            ClusterTask task = new ClusterTask(this, run);

            task.UpdateStatus();
            return(task);
        }
Example #3
0
 public bool Put(int id, [FromBody] RunEntity value)
 {
     if (id > 0)
     {
         return(_service.Update(id, value));
     }
     return(false);
 }
Example #4
0
        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;
            }
        }
Example #5
0
 internal void NewResults(RunEntity run, XElement xresults)
 {
     CreateNewPluginInstance().ProcessResults(GetPluginParameters(), run, xresults);
 }
Example #6
0
 public int Post([FromBody] RunEntity value)
 {
     return(_service.Create(value));
 }
Example #7
0
 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);
 }
Example #9
0
 // called whenever results are coming back for a run
 internal abstract void ProcessResults(Parameters parameters, RunEntity run, XElement xresults);