Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
08/03/10 11:18:39 (14 years ago)
Author:
cneumuel
Message:

added HeuristicLab.Hive.Tracing (#1092)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Experiment/3.3/HiveExperiment.cs

    r4133 r4135  
    270270    }
    271271
     272    public void Stop() {
     273      this.ExecutionState = Core.ExecutionState.Stopped;
     274      foreach (JobItem jobItem in jobItems) {
     275        AbortJob(jobItem.JobDto.Id);
     276      }
     277      OnStopped();
     278    }
     279
    272280    private void CreateResultPollingThreads() {
    273281      foreach(JobItem jobItem in JobItems) {
    274         resultPollingThreads.Add(jobItem.JobDto.Id, CreateResultPollingThread(jobItem.JobDto));
     282        if (!resultPollingThreads.ContainsKey(jobItem.JobDto.Id)) {
     283          resultPollingThreads.Add(jobItem.JobDto.Id, CreateResultPollingThread(jobItem.JobDto));
     284        }
    275285      }
    276286    }
     
    280290      CreateResultPollingThreads();
    281291      foreach (Thread pollingThread in resultPollingThreads.Values) {
    282         pollingThread.Start();
     292        if (pollingThread.ThreadState != System.Threading.ThreadState.Running) {
     293          pollingThread.Start();
     294        }
    283295      }
    284296      this.IsPollingResults = true;
     
    317329    }
    318330
    319     public void Stop() {
    320       foreach(JobItem jobItem in jobItems) {
    321         AbortJob(jobItem.JobDto.Id);
    322       }
    323     }
    324 
    325331    public void AbortJob(Guid jobId) {
    326332      IExecutionEngineFacade executionEngineFacade = GetExecutionEngineFacade();
    327       executionEngineFacade.AbortJob(jobId);
    328       resultPollingThreads[jobId].Interrupt();
    329       GetJobItemById(jobId).LogMessage("Aborting Job");
    330     }
     333      Response response = executionEngineFacade.AbortJob(jobId);
     334      GetJobItemById(jobId).LogMessage("Aborting Job: " + response.StatusMessage);
     335    }
     336
    331337    #endregion
    332338
     
    387393            GetJobItemById(job.Id).LogMessage("Response: " + response.StatusMessage);
    388394
    389             if (response.Obj != null) {
    390               UpdateJobItem(response.Obj);
    391             }
     395            UpdateJobItem(response.Obj);
     396
     397            if (response.Obj.State == State.Abort) {
     398              // job is aborted, don't poll for results anymore
     399              GetJobItemById(job.Id).LogMessage("Job successfully aborted");
     400              return;
     401            }           
    392402
    393403            // loop while
Note: See TracChangeset for help on using the changeset viewer.