Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Урок 6. https://gb.ru/lessons/135898/homework
Практическое задание
Подключите работу с базой данных к приложению менеджера сбора метрик. Все таблицы Metrics Manager должны повторять таблицы Metrics Agent, но иметь дополнительный столбец agentId (для связи метрики с агентом). Таблица Agents Должна иметь два столбца - AgentId и AgentUrl.
Реализуйте в Metrics Quarz Job. Сделайте Job на каждый типа метрик (как и для агента). Инжектируйте в Job репозиторий работы с агентами, репозиторий работы с соответствующей метрикой, и IMetricsAgentClient. Читайте из базы всех агентов и для каждого в цикле вызывайте методы получения метрик с агента. ApiRequest будет содержать URL агента (вы возьмете его из свойства AgentUrl в базе) и дату начала выборки и дату конца. В качестве даты конца можно брать DateTime.UtcNow. В качестве даты начала - максимальную из дат, сохраненных в БД метрик на менеджере (сделайте соответствующий запрос к базе метрик к нужной таблице). Прочитанные данные из IMetricsAgentClient сохраните в базе данных менеджера, используя репозиторий метрики.
Реализуйте методы GET контроллеров MetricsManager так, чтобы они по аналогии с MetricsAgent, ходили в свою базу данных и возвращали метрики.