public void OnNext(ICompletedTask value) { Logger.Log(Level.Info, "Received ICompletedTask"); UpdateMetrics(TestSystemState.TaskCompleted); value.ActiveContext.Dispose(); }
public void OnNext(ICompletedTask value) { Assert.Equal(TaskId, value.Id); Assert.Equal(ContextId0, value.ActiveContext.Id); Logger.Log(Level.Info, CompletedTaskReceived); value.ActiveContext.Dispose(); }
/// <summary> /// ICompletedTask handler. It is called when a task is completed. The following action will be taken based on the System State: /// Case TasksRunning /// Updates task state to TaskCompleted /// If all tasks are completed, sets system state to TasksCompleted and then go to Done action /// Case ShuttingDown /// Updates task state to TaskCompleted /// Try to recover /// Other cases - not expected /// </summary> /// <param name="completedTask">The link to the completed task</param> public void OnNext(ICompletedTask completedTask) { Logger.Log(Level.Info, "Received ICompletedTask {0}, with systemState {1} in retry# {2}.", completedTask.Id, _systemState.CurrentState, _numberOfRetries); lock (_lock) { switch (_systemState.CurrentState) { case SystemState.TasksRunning: _taskManager.RecordCompletedTask(completedTask); if (_taskManager.AreAllTasksCompleted()) { _systemState.MoveNext(SystemStateEvent.AllTasksAreCompleted); Logger.Log(Level.Info, "All tasks are completed, systemState {0}", _systemState.CurrentState); DoneAction(); } break; case SystemState.ShuttingDown: // The task might be in running state or waiting for close, record the completed task _taskManager.RecordCompletedTask(completedTask); TryRecovery(); break; default: UnexpectedState(completedTask.Id, "ICompletedTask"); break; } } }
public void OnNext(ICompletedTask value) { // Verify the completion of Task on Context with ContextId0. Assert.Equal(TaskId, value.Id); Assert.Equal(ContextId0, value.ActiveContext.Id); Logger.Log(Level.Info, CompletedTaskReceived); value.ActiveContext.Dispose(); }
/// <summary> /// Log the task id and ICompletedTask /// Close the rest of the running tasks, then dispose the context /// </summary> public void OnNext(ICompletedTask value) { lock (_lock) { Logger.Log(Level.Info, CompletedTaskMessage + value.Id); CloseRunningTasks(); value.ActiveContext.Dispose(); } }
public void OnNext(ICompletedTask value) { Logger.Log(Level.Info, "HelloDriver received completed task {0}", value.Id); var taskConfiguration = TaskConfiguration.ConfigurationModule .Set(TaskConfiguration.Identifier, "FailedTask") .Set(TaskConfiguration.Task, GenericType <FailedTask> .Class) .Build(); value.ActiveContext.SubmitTask(taskConfiguration); }
public void OnNext(ICompletedTask value) { using (LOGGER.LogFunction("HelloSimpleEventHandlers::CompletedTask received")) { LOGGER.Log(Level.Info, string.Format(CultureInfo.InvariantCulture, "Received CompletedTask: {0}, task id: {1}", value.Id, _taskContext.CurrentTaskId())); _activeContext = value.ActiveContext; _taskContext.UpdateTaskStatus(value.Id, TaskStatus.Completed); _taskContext.TaskCompleted++; SubmitNextTask(value.ActiveContext); } }
/// <summary> /// /// </summary> /// <param name="value"></param> public void OnNext(ICompletedTask value) { Console.WriteLine("task completed {0}", value.Id); try { value.ActiveContext.Dispose(); } catch (Exception ex) { Console.WriteLine("faile to dispose task context {0}", ex.ToString()); } }
/// <summary> /// This method is called when receiving ICompletedTask event during task running or system shutting down. /// If it is master task and if the master task was running, mark _masterTaskCompletedRunning true. That indicates /// master task has successfully completed, which means the system has got the result from master task. /// Removes the task from running tasks if it was running /// Changes the task state from RunningTask to CompletedTask if the task was running /// Change the task stat from TaskWaitingForClose to TaskClosedByDriver if the task was in TaskWaitingForClose state /// </summary> internal void RecordCompletedTask(ICompletedTask completedTask) { if (completedTask.Id.Equals(_masterTaskId)) { if (GetTaskInfo(completedTask.Id).TaskState.CurrentState.Equals(TaskState.TaskRunning)) { _masterTaskCompletedRunning = true; } } _runningTasks.Remove(completedTask.Id); UpdateState(completedTask.Id, TaskStateEvent.CompletedTask); }
/// <summary> /// Specifies what to do when the task is completed /// In this case just disposes off the task /// </summary> /// <param name="completedTask">The link to the completed task</param> public void OnNext(ICompletedTask completedTask) { lock (_completedTasks) { Logger.Log(Level.Info, string.Format("Received completed task message from task Id: {0}", completedTask.Id)); _completedTasks.Add(completedTask); if (AreIMRUTasksCompleted()) { ShutDownAllEvaluators(); } } }
/// <summary> /// Specfies what to do when the task is completed /// In this case just disposes off the task /// </summary> /// <param name="completedTask">The link to the completed task</param> public void OnNext(ICompletedTask completedTask) { _completedTasks.Add(completedTask); if (_completedTasks.Count != _dataSet.Count + 1) { return; } foreach (var task in _completedTasks) { Logger.Log(Level.Verbose, string.Format("Disposing task: {0}", task.Id)); task.ActiveContext.Dispose(); } }
public void OnNext(ICompletedTask value) { using (Logger.LogFunction("HelloSimpleEventHandlers::CompletedTask received")) { Logger.Log(Level.Info, "Received CompletedTask: {0}, task id: {1}.", value.Id, _taskContext.CurrentTaskId()); var messageStr = value.Message == null || value.Message.Length == 0 ? string.Empty : ByteUtilities.ByteArraysToString(value.Message); Logger.Log(Level.Verbose, "Message received from CompletedTask {0} is: [{1}]", value.Id, messageStr); _taskContext.UpdateTaskStatus(value.Id, TaskStatus.Completed); _taskContext.TaskCompleted++; SubmitNextTask(value.ActiveContext); } }
public void OnNext(ICompletedTask value) { Logger.Log(Level.Info, CompletedTaskValidationMessage + ". Task completed: " + value.Id); lock (_compeletedTaskLock) { _completedTasks.Add(value); if (_completedTasks.Count < 2) { return; } foreach (var t in _completedTasks) { t.ActiveContext.Dispose(); } } }
/// <summary> /// This method is called when receiving ICompletedTask event during task running or system shutting down. /// If it is master task, if the master task was running or if the task message indicates the task has been done, /// mark _masterTaskCompletedRunning true. That indicates master task has successfully completed, which means the /// system has got the result from master task. /// Removes the task from running tasks if it was running /// Changes the task state from RunningTask to CompletedTask if the task was running /// Change the task stat from TaskWaitingForClose to TaskClosedByDriver if the task was in TaskWaitingForClose state /// </summary> internal void RecordCompletedTask(ICompletedTask completedTask) { if (completedTask.Id.Equals(_masterTaskId)) { string message = ""; if (completedTask.Message != null) { message = ByteUtilities.ByteArraysToString(completedTask.Message); Logger.Log(Level.Info, "UpdateTask message {0}", message); } if (message.Equals(TaskManager.UpdateTaskCompleted)) { _masterTaskCompletedRunning = true; } } _runningTasks.Remove(completedTask.Id); UpdateState(completedTask.Id, TaskStateEvent.CompletedTask); }
public void OnNext(ICompletedTask value) { Logger.Log(Level.Info, "Completed Task" + value.Id); Logger.Log(Level.Info, ValidationMessage); value.ActiveContext.Dispose(); }
public void OnNext(ICompletedTask value) { Logger.Log(Level.Info, "Task completed: " + value.Id); VerifyContextTaskMapping(value.Id, value.ActiveContext.Id); value.ActiveContext.Dispose(); }
public void OnNext(ICompletedTask value) { // Log on task completion to signal a passed test. Logger.Log(Level.Warning, CompletedValidationMessage); value.ActiveContext.Dispose(); }
public void OnNext(ICompletedTask value) { // Should only receive one CompletedTask, as validated. Logger.Log(Level.Info, CompletedTaskReceived); value.ActiveContext.Dispose(); }
public void OnNext(ICompletedTask completedTask) { CheckMsgOrder(completedTask); completedTask.ActiveContext.Dispose(); }
public override void OnNext(ICompletedTask value) { Logger.Log(Level.Info, ExpectedCompletedTask); }
/// <summary> /// A simple ICompletedTask handler. /// </summary> /// <param name="value"></param> void IObserver <ICompletedTask> .OnNext(ICompletedTask value) { Logger.Log(Level.Info, "Received ICompletedTask: {0} with evaluator id: {1}.", value.Id, value.ActiveContext.EvaluatorId); value.ActiveContext.Dispose(); }
public void OnNext(ICompletedTask value) { value.ActiveContext.Dispose(); }
/// <summary> /// This method is called when receiving ICompletedTask event during task running or system shutting down. /// Removes the task from running tasks if it was running /// Changes the task state from RunningTask to CompletedTask if the task was running /// Change the task stat from TaskWaitingForClose to TaskClosedByDriver if the task was in TaskWaitingForClose state /// </summary> /// <param name="completedTask"></param> internal void RecordCompletedTask(ICompletedTask completedTask) { _runningTasks.Remove(completedTask.Id); UpdateState(completedTask.Id, TaskStateEvent.CompletedTask); }
public void OnNext(ICompletedTask value) { throw new Exception("Driver should not have received a completed Task."); }
/// <summary> /// Log the task id and dispose the context /// </summary> public void OnNext(ICompletedTask value) { Logger.Log(Level.Info, CompletedTaskMessage + value.Id); value.ActiveContext.Dispose(); }
public void OnNext(ICompletedTask value) { IncrementFinishedTask(Optional <IActiveContext> .Of(value.ActiveContext)); }
public void OnNext(ICompletedTask value) { Logger.Log(Level.Info, TaskCompletedMessage); throw new Exception("Did not expect a completed task."); }
public void OnNext(ICompletedTask value) { throw new Exception("Did not expect a completed task."); }
public async Task DispatchCompletedTaskEvent(ICompletedTask completedTaskEvent) { await DispatchAsync(_completedTaskDispatcher, completedTaskEvent); }
public void OnNext(ICompletedTask value) { Logger.Log(Level.Info, "Task completed: " + value.Id); Assert.Equal(TaskId + "1", value.Id); value.ActiveContext.Dispose(); }
public void OnNext(ICompletedTask value) { // TODO[JIRA REEF-1343]: fail the test if receive ICompletedTask after failed evaluator Logger.Log(Level.Info, "ICompletedTask"); }