public void OnNext(IRunningTask value) { lock (_lockObj) { var evaluatorId = value.ActiveContext.EvaluatorId; if (!_evaluators.ContainsKey(evaluatorId)) { throw new Exception("Unexpected Running Task from Evaluator " + evaluatorId); } Logger.Log(Level.Info, "{0} running task with ID [{1}] from evaluator with ID [{2}]", _evaluators[evaluatorId], value.Id, evaluatorId); if (_evaluators[evaluatorId] == EvaluatorState.Expected) { value.Send(Encoding.UTF8.GetBytes("Hello from driver!")); _evaluators[evaluatorId] = EvaluatorState.RecoveredRunning; } else if (_evaluators[value.ActiveContext.EvaluatorId] == EvaluatorState.NewAllocated) { _evaluators[evaluatorId] = EvaluatorState.NewRunning; var newRunningCount = CountState(EvaluatorState.NewRunning); // Kill itself in order for the driver to restart it. if (!_isRestart && newRunningCount == NumberOfTasksToSubmit) { Process.GetCurrentProcess().Kill(); } if (_isRestart) { value.Send(Encoding.UTF8.GetBytes("Hello from driver!")); if (newRunningCount == NumberOfTasksToSubmitOnRestart) { Logger.Log(Level.Info, "Received all requested new running tasks."); } } } } }
public void OnNext(IRunningTask runningTask) { LOGGER.Log(Level.Info, string.Format(CultureInfo.InvariantCulture, "TaskMessegingRunningTaskHandler: {0} is to send message {1}.", runningTask.Id, Message)); runningTask.Send(ByteUtilities.StringToByteArrays(Message)); }
public void OnNext(IRunningTask runningTask) { Logger.Log(Level.Info, SendingMessageToTaskLog); runningTask.Send(ByteUtilities.StringToByteArrays(Message)); }