/// <summary> /// Launch an Task. /// </summary> /// <param name="startTaskProto"></param> private void StartTask(StartTaskProto startTaskProto) { lock (_contextStack) { ContextRuntime currentActiveContext = _contextStack.Peek(); string expectedContextId = startTaskProto.context_id; if (!expectedContextId.Equals(currentActiveContext.Id, StringComparison.OrdinalIgnoreCase)) { var e = new InvalidOperationException(string.Format(CultureInfo.InvariantCulture, "Task expected context '{0}' but the active context has Id '{1}'", expectedContextId, currentActiveContext.Id)); Org.Apache.REEF.Utilities.Diagnostics.Exceptions.Throw(e, LOGGER); } TaskConfiguration taskConfiguration = new TaskConfiguration(startTaskProto.configuration); currentActiveContext.StartTask(taskConfiguration, expectedContextId, _heartBeatManager); } }
/// <summary> /// Launch an Task. /// </summary> /// <param name="startTaskProto"></param> private void StartTask(StartTaskProto startTaskProto) { lock (_contextLock) { ContextRuntime currentActiveContext = _topContext; string expectedContextId = startTaskProto.context_id; if (!expectedContextId.Equals(currentActiveContext.Id, StringComparison.OrdinalIgnoreCase)) { var e = new InvalidOperationException( string.Format(CultureInfo.InvariantCulture, "Task expected context '{0}' but the active context has Id '{1}'", expectedContextId, currentActiveContext.Id)); Utilities.Diagnostics.Exceptions.Throw(e, LOGGER); } var configuration = _serializer.FromString(startTaskProto.configuration); currentActiveContext.StartTask(configuration); } }