public IActionResult GetAgentsList()
        {
            var agentList = _repository.GetAgentList();

            _logger.LogInformation("Get");
            return(Ok(agentList));
        }
Пример #2
0
        public Task Execute(IJobExecutionContext context)
        {
            var agentsList = _agentsRepository.GetAgentList();

            if (agentsList.Count == 0)
            {
                return(Task.CompletedTask);
            }

            foreach (var agent in agentsList)
            {
                DateTimeOffset fromTime = _repository.GetLastTime(agent.AgentId);
                DateTimeOffset toTime   = DateTimeOffset.UtcNow;

                var request = new GetAllHddMetricsApiRequest
                {
                    ClientBaseAddress = agent.AgentAddress,
                    FromTime          = fromTime,
                    ToTime            = toTime
                };

                var metrics = _agentClient.GetAllHddMetrics(request);

                if (metrics.Metrics.Count == 0)
                {
                    return(Task.CompletedTask);
                }

                foreach (var metric in metrics.Metrics)
                {
                    _repository.Create(new HddMetricApi {
                        Time = metric.Time, Value = metric.Value, AgentId = agent.AgentId
                    });
                }
            }

            return(Task.CompletedTask);
        }