Beispiel #1
0
 /// <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);
     }
 }
Beispiel #2
0
        /// <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);
            }
        }