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 GetAllGcHeapSizeMetricsApiRequest { ClientBaseAddress = agent.AgentAddress, FromTime = fromTime, ToTime = toTime }; var metrics = _agentClient.GetAllGcHeapSizeMetrics(request); if (metrics.Metrics.Count == 0) { return(Task.CompletedTask); } foreach (var metric in metrics.Metrics) { _repository.Create(new GcHeapSizeMetricApi { Time = metric.Time, Value = metric.Value, AgentId = agent.AgentId }); } } return(Task.CompletedTask); }