Пример #1
0
        public async Task <IReasoningTask> ProcessReasoningTask(string reasoningTaskId)
        {
            var reasoningTask = await _reasoningTaskRepository.GetAsync(reasoningTaskId);

            reasoningTask = await ContinueReasoningStepByStep(reasoningTask);

            SetTaskState(ref reasoningTask);

            _reasoningTaskRepository.Update(reasoningTaskId, reasoningTask);

            if (reasoningTask.ReasoningProcess.State == ReasoningState.FINISHED &&
                reasoningTask.ReasoningProcess.EvaluationMessage == EvaluationMessage.PASSED &&
                reasoningTask.ReasoningProcess.ReasonedItems.Count > 0)
            {
                ExecuteReasoningTasks(reasoningTask);
            }

            return(reasoningTask);
        }
Пример #2
0
        public async Task <ReasoningTaskResource> CancelTaskAsync(string id)
        {
            var result = await _reasoningTaskRepository.GetAsync(id);


            if (result == null)
            {
                return(null);
            }

            result.Status = ReasoningTaskStatus.CANCELLED;

            _reasoningTaskRepository.Update(id, result);

            _logger.LogInformation($"Reasoning task {id} has been cancelled");

            return(GetReasoningTaskResource(result));
        }