public Task Execute(IJobExecutionContext context) { foreach (var agent in GetAllAgentsAsync()) { var request = new AllMetricsApiRequestModel() { AgentId = agent.AgentId, ClientBaseAddress = agent.AgentUrl.ToString(), FromTime = _cpuRepository.GetAll().OrderBy(e => e.Time).LastOrDefault()?.Time ?? 0, ToTime = DateTimeOffset.UtcNow.ToUnixTimeSeconds() }; var metrics = _metricsAgentClient.GetAllCpuMetrics(request); SaveCpuMetrics(metrics, _cpuRepository); metrics = null; metrics = _metricsAgentClient.GetAllRamMetrics(request); SaveRamMetrics(metrics, _ramRepository); metrics = null; metrics = _metricsAgentClient.GetAllHddMetrics(request); SaveHddMetrics(metrics, _hddRepository); metrics = null; metrics = _metricsAgentClient.GetAllNetworkMetrics(request); SaveNetworkMetrics(metrics, _networkRepository); metrics = null; metrics = _metricsAgentClient.GetAllDotnetMetrics(request); SaveDotnetMetrics(metrics, _dotnetRepository); } return(Task.CompletedTask); }