Changeset 7215 for branches/HeuristicLab.Hive.Azure/HeuristicLab.Clients.Hive/3.3/HiveJobs/HiveTask.cs
- Timestamp:
- 12/20/11 13:54:57 (12 years ago)
- Location:
- branches/HeuristicLab.Hive.Azure
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HeuristicLab.Hive.Azure
- Property svn:ignore
-
old new 4 4 *.suo 5 5 *.vsp 6 Doxygen 6 7 Google.ProtocolBuffers-0.9.1.dll 7 8 HeuristicLab 3.3.5.1.ReSharper.user 8 9 HeuristicLab 3.3.6.0.ReSharper.user 9 10 HeuristicLab.4.5.resharper.user 11 HeuristicLab.ExtLibs.6.0.ReSharper.user 10 12 HeuristicLab.resharper.user 11 13 ProtoGen.exe … … 16 18 bin 17 19 protoc.exe 18 HeuristicLab.ExtLibs.6.0.ReSharper.user19 Doxygen
-
- Property svn:mergeinfo changed
- Property svn:ignore
-
branches/HeuristicLab.Hive.Azure/HeuristicLab.Clients.Hive/3.3
- Property svn:ignore
-
old new 1 1 obj 2 2 Plugin.cs 3 bin
-
- Property svn:ignore
-
branches/HeuristicLab.Hive.Azure/HeuristicLab.Clients.Hive/3.3/HiveJobs/HiveTask.cs
r6976 r7215 71 71 OnItemImageChanged(); 72 72 } 73 74 73 } 75 74 } … … 121 120 hiveJob.IsControllable = value; 122 121 } 123 } 124 finally { 122 } finally { 125 123 childHiveTasksLock.ExitReadLock(); 126 124 } … … 136 134 try { 137 135 return childHiveTasks.AsReadOnly(); 138 } 139 finally { childHiveTasksLock.ExitReadLock(); } 136 } finally { childHiveTasksLock.ExitReadLock(); } 140 137 } 141 138 } … … 145 142 146 143 public StateLogList StateLog { 147 get { return new StateLogList(this.task.StateLog); } 144 get { 145 var list = new StateLogList(this.task.StateLog); 146 list.ForEach(s => { s.TaskName = itemTask.Name; }); 147 return list; 148 } 148 149 } 149 150 … … 153 154 154 155 #region Constructors and Cloning 156 [StorableConstructor] 157 protected HiveTask(bool deserializing) { } 158 155 159 public HiveTask() { 156 this.Task = new Task() { CoresNeeded = 1, MemoryNeeded = 0};160 this.Task = new Task() { CoresNeeded = 1, MemoryNeeded = 128 }; 157 161 task.State = TaskState.Offline; 158 162 this.childHiveTasks = new ItemList<HiveTask>(); … … 189 193 try { 190 194 this.childHiveTasks = cloner.Clone(original.childHiveTasks); 191 } 192 finally { original.childHiveTasksLock.ExitReadLock(); } 195 } finally { original.childHiveTasksLock.ExitReadLock(); } 193 196 this.syncTasksWithOptimizers = original.syncTasksWithOptimizers; 194 197 this.isFinishedTaskDownloaded = original.isFinishedTaskDownloaded; … … 235 238 } 236 239 237 public virtual void AddChildHive Job(HiveTask hiveJob) {240 public virtual void AddChildHiveTask(HiveTask hiveTask) { 238 241 childHiveTasksLock.EnterWriteLock(); 239 242 try { 240 this.childHiveTasks.Add(hiveJob); 241 } 242 finally { childHiveTasksLock.ExitWriteLock(); } 243 this.childHiveTasks.Add(hiveTask); 244 } finally { childHiveTasksLock.ExitWriteLock(); } 243 245 } 244 246 … … 337 339 IsFinishedTaskDownloaded = false; 338 340 } 341 if (e.PropertyName == "Priority" && Task != null) { 342 foreach (var task in childHiveTasks) { 343 task.Task.Priority = Task.Priority; 344 } 345 } 339 346 } 340 347 #endregion … … 352 359 } 353 360 return jobs; 354 } 355 finally { childHiveTasksLock.ExitReadLock(); } 361 } finally { childHiveTasksLock.ExitReadLock(); } 356 362 } 357 363 … … 367 373 } 368 374 return null; 369 } 370 finally { childHiveTasksLock.ExitWriteLock(); } 375 } finally { childHiveTasksLock.ExitWriteLock(); } 371 376 } 372 377 … … 385 390 return result; 386 391 } 387 } 388 finally { childHiveTasksLock.ExitReadLock(); } 392 } finally { childHiveTasksLock.ExitReadLock(); } 389 393 } 390 394 return null; … … 401 405 child.RemoveByTaskId(jobId); 402 406 } 403 } 404 finally { childHiveTasksLock.ExitWriteLock(); } 407 } finally { childHiveTasksLock.ExitWriteLock(); } 405 408 } 406 409 … … 453 456 try { 454 457 foreach (var child in childHiveTasks) { 455 ServiceLocator.Instance.CallHiveService(s => s.PauseTask(child.task.Id));458 HiveServiceLocator.Instance.CallHiveService(s => s.PauseTask(child.task.Id)); 456 459 } 457 } 458 finally { childHiveTasksLock.ExitReadLock(); } 460 } finally { childHiveTasksLock.ExitReadLock(); } 459 461 } else { 460 ServiceLocator.Instance.CallHiveService(s => s.PauseTask(this.task.Id));462 HiveServiceLocator.Instance.CallHiveService(s => s.PauseTask(this.task.Id)); 461 463 } 462 464 } … … 467 469 try { 468 470 foreach (var child in childHiveTasks) { 469 ServiceLocator.Instance.CallHiveService(s => s.StopTask(child.task.Id));471 HiveServiceLocator.Instance.CallHiveService(s => s.StopTask(child.task.Id)); 470 472 } 471 } 472 finally { childHiveTasksLock.ExitReadLock(); } 473 } finally { childHiveTasksLock.ExitReadLock(); } 473 474 } else { 474 ServiceLocator.Instance.CallHiveService(s => s.StopTask(this.task.Id));475 HiveServiceLocator.Instance.CallHiveService(s => s.StopTask(this.task.Id)); 475 476 } 476 477 } 477 478 478 479 public void Restart() { 479 ServiceLocator.Instance.CallHiveService(service => {480 HiveServiceLocator.Instance.CallHiveService(service => { 480 481 TaskData taskData = new TaskData(); 481 482 taskData.TaskId = this.task.Id; … … 515 516 #region Constructors and Cloning 516 517 public HiveTask() : base() { } 518 [StorableConstructor] 519 protected HiveTask(bool deserializing) { } 517 520 public HiveTask(T itemJob) : base(itemJob, true) { } 518 protected HiveTask(HiveTask original, Cloner cloner)521 protected HiveTask(HiveTask<T> original, Cloner cloner) 519 522 : base(original, cloner) { 520 523 }
Note: See TracChangeset
for help on using the changeset viewer.