Changeset 4135 for branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Experiment/3.3/HiveExperiment.cs
- Timestamp:
- 08/03/10 11:18:39 (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Experiment/3.3/HiveExperiment.cs
r4133 r4135 270 270 } 271 271 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 272 280 private void CreateResultPollingThreads() { 273 281 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 } 275 285 } 276 286 } … … 280 290 CreateResultPollingThreads(); 281 291 foreach (Thread pollingThread in resultPollingThreads.Values) { 282 pollingThread.Start(); 292 if (pollingThread.ThreadState != System.Threading.ThreadState.Running) { 293 pollingThread.Start(); 294 } 283 295 } 284 296 this.IsPollingResults = true; … … 317 329 } 318 330 319 public void Stop() {320 foreach(JobItem jobItem in jobItems) {321 AbortJob(jobItem.JobDto.Id);322 }323 }324 325 331 public void AbortJob(Guid jobId) { 326 332 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 331 337 #endregion 332 338 … … 387 393 GetJobItemById(job.Id).LogMessage("Response: " + response.StatusMessage); 388 394 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 } 392 402 393 403 // loop while
Note: See TracChangeset
for help on using the changeset viewer.