Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
05/16/11 00:18:48 (13 years ago)
Author:
cneumuel
Message:

#1233

  • stability improvements for HiveEngine
File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive/3.4/ExperimentManager/ConcurrentJobDownloader.cs

    r6198 r6200  
    2121
    2222    public void DownloadJob(Job job, Action<Job, T, Exception> onFinishedAction) {
    23       Task<JobData>.Factory.StartNew((x) => DownloadJob(x), job.Id)
    24                                      .ContinueWith((x) => DeserializeJob(x.Result))
    25                                      .ContinueWith((x) => OnJobFinished(job, x, onFinishedAction), TaskContinuationOptions.ExecuteSynchronously);
     23      Task<T> task = Task<JobData>.Factory.StartNew((x) => DownloadJob(x), job.Id)
     24                                     .ContinueWith((x) => DeserializeJob(x.Result));
     25      task.ContinueWith((x) => OnJobFinished(job, x, onFinishedAction), TaskContinuationOptions.ExecuteSynchronously | TaskContinuationOptions.OnlyOnRanToCompletion);
     26      task.ContinueWith((x) => OnJobFailed(job, x, onFinishedAction), TaskContinuationOptions.ExecuteSynchronously | TaskContinuationOptions.OnlyOnFaulted);
    2627    }
    2728
    2829    private void OnJobFinished(Job job, Task<T> task, Action<Job, T, Exception> onFinishedAction) {
    29       onFinishedAction(job, task.Result, task.Exception);
     30      onFinishedAction(job, task.Result, null);
     31    }
     32    private void OnJobFailed(Job job, Task<T> task, Action<Job, T, Exception> onFinishedAction) {
     33      onFinishedAction(job, task.Result, task.Exception.Flatten());
    3034    }
    3135
Note: See TracChangeset for help on using the changeset viewer.