Changeset 6200 for branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive/3.4/ExperimentManager/ConcurrentJobDownloader.cs
- Timestamp:
- 05/16/11 00:18:48 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive/3.4/ExperimentManager/ConcurrentJobDownloader.cs
r6198 r6200 21 21 22 22 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); 26 27 } 27 28 28 29 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()); 30 34 } 31 35
Note: See TracChangeset
for help on using the changeset viewer.