- Timestamp:
- 07/03/14 16:03:14 (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources/HeuristicLab.Clients.Hive.Slave/3.3/Manager/TaskManager.cs
r9456 r11082 71 71 try { 72 72 if (slaveTasks.ContainsKey(task.Id)) { 73 SlaveStatusInfo.Increment ExceptionOccured();73 SlaveStatusInfo.IncrementTasksFailed(); 74 74 throw new TaskAlreadyRunningException(task.Id); 75 75 } else { … … 185 185 slaveTask.TaskStopped += new EventHandler<EventArgs<Guid>>(slaveTask_TaskStopped); 186 186 slaveTask.TaskFailed += new EventHandler<EventArgs<Guid, Exception>>(slaveTask_TaskFailed); 187 slaveTask.ExceptionOccured += new EventHandler<EventArgs<Guid, Exception>>(slaveTask_ExceptionOccured);188 187 } 189 188 … … 193 192 slaveTask.TaskStopped -= new EventHandler<EventArgs<Guid>>(slaveTask_TaskStopped); 194 193 slaveTask.TaskFailed -= new EventHandler<EventArgs<Guid, Exception>>(slaveTask_TaskFailed); 195 slaveTask.ExceptionOccured -= new EventHandler<EventArgs<Guid, Exception>>(slaveTask_ExceptionOccured);196 194 } 197 195 … … 220 218 try { 221 219 taskData = slaveTask.GetTaskData(); 222 if (taskData == null) throw new SerializationException();223 220 SlaveStatusInfo.IncrementTasksFinished(); 224 221 OnTaskPaused(slaveTask, taskData); … … 243 240 try { 244 241 taskData = slaveTask.GetTaskData(); 245 if (taskData == null) throw new SerializationException();246 242 SlaveStatusInfo.IncrementTasksFinished(); 247 243 OnTaskStopped(slaveTask, taskData); … … 266 262 try { 267 263 taskData = slaveTask.GetTaskData(); 268 if (taskData == null) throw new SerializationException();269 264 } 270 265 catch { /* taskData will be null */ } 271 266 SlaveStatusInfo.IncrementTasksFailed(); 272 267 OnTaskFailed(slaveTask, taskData, e.Value2); 273 }274 275 private void slaveTask_ExceptionOccured(object sender, EventArgs<Guid, Exception> e) {276 SlaveTask slaveTask;277 slaveTasksLocker.EnterUpgradeableReadLock();278 try {279 slaveTask = slaveTasks[e.Value];280 RemoveSlaveTask(e.Value, slaveTask);281 }282 finally { slaveTasksLocker.ExitUpgradeableReadLock(); }283 284 SlaveStatusInfo.IncrementExceptionOccured();285 OnExceptionOccured(slaveTask, e.Value2);286 268 } 287 269 #endregion … … 312 294 } 313 295 314 public event EventHandler<EventArgs<SlaveTask, Exception>> ExceptionOccured;315 private void OnExceptionOccured(SlaveTask slaveTask, Exception exception) {316 var handler = ExceptionOccured;317 if (handler != null) handler(this, new EventArgs<SlaveTask, Exception>(slaveTask, exception));318 }319 320 296 public event EventHandler<EventArgs<SlaveTask>> TaskAborted; 321 297 private void OnTaskAborted(SlaveTask slaveTask) {
Note: See TracChangeset
for help on using the changeset viewer.