- Timestamp:
- 12/20/11 11:45:18 (12 years ago)
- Location:
- branches/HeuristicLab.TimeSeries
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HeuristicLab.TimeSeries
-
branches/HeuristicLab.TimeSeries/HeuristicLab.Clients.Hive.Slave/3.3/Core.cs
r6998 r7213 47 47 private Semaphore waitShutdownSem = new Semaphore(0, 1); 48 48 private bool abortRequested; 49 private ISlaveCommunication clientCom;50 49 private ServiceHost slaveComm; 51 50 private WcfService wcfService; … … 77 76 slaveComm = new ServiceHost(typeof(SlaveCommunicationService)); 78 77 slaveComm.Open(); 79 clientCom = SlaveClientCom.Instance.ClientCom; 80 78 81 79 // delete all left over task directories 82 80 pluginManager.CleanPluginTemp(); 83 clientCom.LogMessage("Hive Slave started");81 SlaveClientCom.Instance.LogMessage("Hive Slave started"); 84 82 85 83 wcfService = WcfService.Instance; … … 93 91 EventLogManager.LogException(ex); 94 92 } else { 95 //try to log with clientCom. if this works the user sees at least a message,93 //try to log with SlaveClientCom.Instance. if this works the user sees at least a message, 96 94 //else an exception will be thrown anyways. 97 clientCom.LogMessage(string.Format("Uncaught exception: {0} {1} Core is going to shutdown.", ex.ToString(), Environment.NewLine));95 SlaveClientCom.Instance.LogMessage(string.Format("Uncaught exception: {0} {1} Core is going to shutdown.", ex.ToString(), Environment.NewLine)); 98 96 } 99 97 ShutdownCore(); 100 } 101 finally { 98 } finally { 102 99 DeregisterServiceEvents(); 103 100 waitShutdownSem.Release(); … … 119 116 DetermineAction(container); 120 117 if (!abortRequested) { 121 clientCom.StatusChanged(configManager.GetStatusForClientConsole());118 SlaveClientCom.Instance.StatusChanged(configManager.GetStatusForClientConsole()); 122 119 } 123 120 } … … 135 132 136 133 private void WcfService_ExceptionOccured(object sender, EventArgs<Exception> e) { 137 clientCom.LogMessage(string.Format("Connection to server interruped with exception: {0}", e.Value.Message));134 SlaveClientCom.Instance.LogMessage(string.Format("Connection to server interruped with exception: {0}", e.Value.Message)); 138 135 } 139 136 140 137 private void WcfService_Connected(object sender, EventArgs e) { 141 clientCom.LogMessage("Connected successfully to Hive server");138 SlaveClientCom.Instance.LogMessage("Connected successfully to Hive server"); 142 139 } 143 140 … … 147 144 /// <param name="container">The container, containing the message</param> 148 145 private void DetermineAction(MessageContainer container) { 149 clientCom.LogMessage(string.Format("Message: {0} for task: {1} ", container.Message.ToString(), container.TaskId));146 SlaveClientCom.Instance.LogMessage(string.Format("Message: {0} for task: {1} ", container.Message.ToString(), container.TaskId)); 150 147 151 148 switch (container.Message) { … … 196 193 .ContinueWith((t) => { 197 194 SlaveStatusInfo.IncrementExceptionOccured(); 198 clientCom.LogMessage(t.Exception.ToString());195 SlaveClientCom.Instance.LogMessage(t.Exception.ToString()); 199 196 }, TaskContinuationOptions.OnlyOnFaulted); 200 197 } … … 204 201 .ContinueWith((t) => { 205 202 SlaveStatusInfo.IncrementExceptionOccured(); 206 clientCom.LogMessage(t.Exception.ToString());203 SlaveClientCom.Instance.LogMessage(t.Exception.ToString()); 207 204 }, TaskContinuationOptions.OnlyOnFaulted); 208 205 } … … 212 209 .ContinueWith((t) => { 213 210 SlaveStatusInfo.IncrementExceptionOccured(); 214 clientCom.LogMessage(t.Exception.ToString());211 SlaveClientCom.Instance.LogMessage(t.Exception.ToString()); 215 212 }, TaskContinuationOptions.OnlyOnFaulted); 216 213 } … … 220 217 .ContinueWith((t) => { 221 218 SlaveStatusInfo.IncrementExceptionOccured(); 222 clientCom.LogMessage(t.Exception.ToString());219 SlaveClientCom.Instance.LogMessage(t.Exception.ToString()); 223 220 }, TaskContinuationOptions.OnlyOnFaulted); 224 221 } … … 334 331 if (task == null) throw new TaskNotFoundException(e.Value.TaskId); 335 332 task.ExecutionTime = e.Value.ExecutionTime; 336 TaskData taskData = e.Value .GetTaskData();333 TaskData taskData = e.Value2; 337 334 wcfService.UpdateTaskData(task, taskData, configManager.GetClientInfo().Id, TaskState.Paused); 338 335 } 339 336 catch (TaskNotFoundException ex) { 340 clientCom.LogMessage(ex.ToString());337 SlaveClientCom.Instance.LogMessage(ex.ToString()); 341 338 } 342 339 catch (Exception ex) { 343 clientCom.LogMessage(ex.ToString());340 SlaveClientCom.Instance.LogMessage(ex.ToString()); 344 341 } 345 342 } … … 352 349 if (task == null) throw new TaskNotFoundException(e.Value.TaskId); 353 350 task.ExecutionTime = e.Value.ExecutionTime; 354 TaskData taskData = e.Value .GetTaskData();351 TaskData taskData = e.Value2; 355 352 wcfService.UpdateTaskData(task, taskData, configManager.GetClientInfo().Id, TaskState.Finished); 356 353 } 357 354 catch (TaskNotFoundException ex) { 358 clientCom.LogMessage(ex.ToString());355 SlaveClientCom.Instance.LogMessage(ex.ToString()); 359 356 } 360 357 catch (Exception ex) { 361 clientCom.LogMessage(ex.ToString());358 SlaveClientCom.Instance.LogMessage(ex.ToString()); 362 359 } 363 360 } … … 379 376 wcfService.UpdateJobState(task.Id, TaskState.Failed, exception.ToString()); 380 377 } 381 clientCom.LogMessage(exception.Message);378 SlaveClientCom.Instance.LogMessage(exception.Message); 382 379 } 383 380 catch (TaskNotFoundException ex) { 384 381 SlaveStatusInfo.IncrementExceptionOccured(); 385 clientCom.LogMessage(ex.ToString());382 SlaveClientCom.Instance.LogMessage(ex.ToString()); 386 383 } 387 384 catch (Exception ex) { 388 385 SlaveStatusInfo.IncrementExceptionOccured(); 389 clientCom.LogMessage(ex.ToString());386 SlaveClientCom.Instance.LogMessage(ex.ToString()); 390 387 } 391 388 } … … 395 392 SlaveStatusInfo.IncrementExceptionOccured(); 396 393 heartbeatManager.AwakeHeartBeatThread(); 397 clientCom.LogMessage(string.Format("Exception occured for task {0}: {1}", e.Value.TaskId, e.Value2.ToString()));394 SlaveClientCom.Instance.LogMessage(string.Format("Exception occured for task {0}: {1}", e.Value.TaskId, e.Value2.ToString())); 398 395 wcfService.UpdateJobState(e.Value.TaskId, TaskState.Waiting, e.Value2.ToString()); 399 396 } … … 407 404 private void log_MessageAdded(object sender, EventArgs<string> e) { 408 405 try { 409 clientCom.LogMessage(e.Value.Split('\t')[1]);406 SlaveClientCom.Instance.LogMessage(e.Value.Split('\t')[1]); 410 407 } 411 408 catch { } … … 417 414 /// </summary> 418 415 private void DoAbortAll() { 419 clientCom.LogMessage("Aborting all jobs.");416 SlaveClientCom.Instance.LogMessage("Aborting all jobs."); 420 417 foreach (Guid taskId in taskManager.TaskIds) { 421 418 AbortTaskAsync(taskId); … … 427 424 /// </summary> 428 425 private void DoPauseAll() { 429 clientCom.LogMessage("Pausing all jobs.");426 SlaveClientCom.Instance.LogMessage("Pausing all jobs."); 430 427 foreach (Guid taskId in taskManager.TaskIds) { 431 428 PauseTaskAsync(taskId); … … 437 434 /// </summary> 438 435 private void DoStopAll() { 439 clientCom.LogMessage("Stopping all jobs.");436 SlaveClientCom.Instance.LogMessage("Stopping all jobs."); 440 437 foreach (Guid taskId in taskManager.TaskIds) { 441 438 StopTaskAsync(taskId); … … 457 454 /// </summary> 458 455 private void ShutdownCore() { 459 clientCom.LogMessage("Shutdown signal received");460 clientCom.LogMessage("Stopping heartbeat");456 SlaveClientCom.Instance.LogMessage("Shutdown signal received"); 457 SlaveClientCom.Instance.LogMessage("Stopping heartbeat"); 461 458 heartbeatManager.StopHeartBeat(); 462 459 abortRequested = true; … … 464 461 DoAbortAll(); 465 462 466 clientCom.LogMessage("Logging out");463 SlaveClientCom.Instance.LogMessage("Logging out"); 467 464 WcfService.Instance.Disconnect(); 468 clientCom.Shutdown();465 SlaveClientCom.Instance.ClientCom.Shutdown(); 469 466 SlaveClientCom.Close(); 470 467 … … 478 475 /// </summary> 479 476 private void DoStartSlave() { 480 clientCom.LogMessage("Restart received");477 SlaveClientCom.Instance.LogMessage("Restart received"); 481 478 configManager.Asleep = false; 482 479 } … … 487 484 /// </summary> 488 485 private void Sleep() { 489 clientCom.LogMessage("Sleep received - not accepting any new jobs");486 SlaveClientCom.Instance.LogMessage("Sleep received - not accepting any new jobs"); 490 487 configManager.Asleep = true; 491 488 DoPauseAll();
Note: See TracChangeset
for help on using the changeset viewer.