Changeset 10130 for trunk/sources/HeuristicLab.Clients.Hive/3.3
- Timestamp:
- 11/12/13 20:35:30 (10 years ago)
- Location:
- trunk/sources/HeuristicLab.Clients.Hive/3.3
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources/HeuristicLab.Clients.Hive/3.3/HiveClient.cs
r9893 r10130 362 362 List<IPluginDescription> plugins; 363 363 364 if (hiveTask.ItemTask.ComputeInParallel && (hiveTask.ItemTask.Item is Optimization.Experiment || hiveTask.ItemTask.Item is Optimization.BatchRun)) {364 if (hiveTask.ItemTask.ComputeInParallel) { 365 365 hiveTask.Task.IsParentTask = true; 366 366 hiveTask.Task.FinishWhenChildJobsFinished = true; -
trunk/sources/HeuristicLab.Clients.Hive/3.3/HiveTasks/EngineHiveTask.cs
r9456 r10130 32 32 #region Constructors and cloning 33 33 public EngineHiveTask() { } 34 public EngineHiveTask(EngineTask engine Job, IScope parentScopeClone)35 : base(engine Job) {34 public EngineHiveTask(EngineTask engineTask, IScope parentScopeClone) 35 : base(engineTask) { 36 36 this.parentScopeClone = parentScopeClone; 37 37 } -
trunk/sources/HeuristicLab.Clients.Hive/3.3/HiveTasks/HiveTask.cs
r9819 r10130 182 182 } 183 183 184 public HiveTask(ItemTask item Job, bool autoCreateChildHiveJobs)184 public HiveTask(ItemTask itemTask, bool autoCreateChildHiveTasks) 185 185 : this() { 186 this.syncTasksWithOptimizers = autoCreateChildHive Jobs;187 this.ItemTask = item Job;186 this.syncTasksWithOptimizers = autoCreateChildHiveTasks; 187 this.ItemTask = itemTask; 188 188 this.syncTasksWithOptimizers = true; 189 189 } 190 190 191 public HiveTask(Task job, TaskData taskData, bool autoCreateChildHiveTasks) {191 public HiveTask(Task task, TaskData taskData, bool autoCreateChildHiveTasks) { 192 192 this.syncTasksWithOptimizers = autoCreateChildHiveTasks; 193 this.Task = job;193 this.Task = task; 194 194 try { 195 195 this.ItemTask = PersistenceUtil.Deserialize<ItemTask>(taskData.Data); … … 545 545 public new T ItemTask { 546 546 get { return (T)base.ItemTask; } 547 internalset { base.ItemTask = value; }547 set { base.ItemTask = value; } 548 548 } 549 549 … … 552 552 [StorableConstructor] 553 553 protected HiveTask(bool deserializing) { } 554 public HiveTask(T item Job) : base(itemJob, true) { }554 public HiveTask(T itemTask) : base(itemTask, true) { } 555 555 protected HiveTask(HiveTask<T> original, Cloner cloner) 556 556 : base(original, cloner) { -
trunk/sources/HeuristicLab.Clients.Hive/3.3/TaskDownloader.cs
r9456 r10130 24 24 using System.Linq; 25 25 using System.Threading; 26 using HeuristicLab.Clients.Hive.Jobs;27 26 using HeuristicLab.Common; 28 27 … … 79 78 80 79 public TaskDownloader(IEnumerable<Guid> jobIds) { 81 t his.taskIds = jobIds;82 t his.taskDownloader = new ConcurrentTaskDownloader<ItemTask>(Settings.Default.MaxParallelDownloads, Settings.Default.MaxParallelDownloads);83 t his.taskDownloader.ExceptionOccured += new EventHandler<EventArgs<Exception>>(taskDownloader_ExceptionOccured);84 this.results = new Dictionary<Guid, HiveTask>();80 taskIds = jobIds; 81 taskDownloader = new ConcurrentTaskDownloader<ItemTask>(Settings.Default.MaxParallelDownloads, Settings.Default.MaxParallelDownloads); 82 taskDownloader.ExceptionOccured += new EventHandler<EventArgs<Exception>>(taskDownloader_ExceptionOccured); 83 results = new Dictionary<Guid, HiveTask>(); 85 84 } 86 85 … … 88 87 foreach (Guid taskId in taskIds) { 89 88 taskDownloader.DownloadTaskDataAndTask(taskId, 90 (localJob, itemJob) => { 91 if (localJob != null && itemJob != null) { 92 HiveTask hiveTask; 93 if (itemJob is OptimizerTask) { 94 hiveTask = new OptimizerHiveTask((OptimizerTask)itemJob); 95 } else { 96 hiveTask = new HiveTask(itemJob, true); 97 } 98 hiveTask.Task = localJob; 89 (localTask, itemTask) => { 90 if (localTask != null && itemTask != null) { 91 HiveTask hiveTask = itemTask.CreateHiveTask(); 92 hiveTask.Task = localTask; 99 93 try { 100 94 resultsLock.EnterWriteLock(); 101 this.results.Add(localJob.Id, hiveTask);95 results.Add(localTask.Id, hiveTask); 102 96 } 103 97 finally { resultsLock.ExitWriteLock(); } … … 113 107 public event EventHandler<EventArgs<Exception>> ExceptionOccured; 114 108 private void OnExceptionOccured(Exception exception) { 115 this.exceptionOccured = true;116 this.currentException = exception;109 exceptionOccured = true; 110 currentException = exception; 117 111 var handler = ExceptionOccured; 118 112 if (handler != null) handler(this, new EventArgs<Exception>(exception)); -
trunk/sources/HeuristicLab.Clients.Hive/3.3/Tasks/EngineTask.cs
r9819 r10130 29 29 [StorableClass] 30 30 public class EngineTask : ItemTask { 31 public override HiveTask CreateHiveTask() { 32 //only used when deserializing, so no problem with parentscope 33 return new EngineHiveTask(this, null); 34 } 35 31 36 [Storable] 32 37 protected IOperation initialOperation; … … 52 57 public EngineTask(IOperation initialOperation, IEngine engine) { 53 58 this.initialOperation = initialOperation; 59 this.Item = engine; 60 } 61 62 public EngineTask(IEngine engine) { 54 63 this.Item = engine; 55 64 } -
trunk/sources/HeuristicLab.Clients.Hive/3.3/Tasks/ItemTask.cs
r9456 r10130 31 31 [StorableClass] 32 32 public abstract class ItemTask : NamedItem, ITask { 33 public virtual HiveTask CreateHiveTask() { 34 return new HiveTask(this, true); 35 } 36 33 37 public virtual bool IsParallelizable { 34 38 get { return true; } 39 set { } 35 40 } 36 41 -
trunk/sources/HeuristicLab.Clients.Hive/3.3/Tasks/OptimizerTask.cs
r9819 r10130 30 30 [StorableClass] 31 31 public class OptimizerTask : ItemTask { 32 public override HiveTask CreateHiveTask() { 33 return new OptimizerHiveTask(this); 34 } 35 32 36 public override bool IsParallelizable { 33 37 get { return this.Item is Experiment || this.Item is BatchRun; }
Note: See TracChangeset
for help on using the changeset viewer.