Skip to content

A library with a set of methods, classes and interfaces for implementing DLL plugins for MONQ agents.

License

Notifications You must be signed in to change notification settings

MONQDL/Monq.Plugins.Abstractions

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Monq.Plugins.Abstractions

Это .NET библиотека с набором методов, классов и интерфейсов для реализации пользовательских плагинов Monq Agent. Здесь вы можете узнать основную информацию о составе этой библиотеки. За подробной информацией по созданию пользовательских плагинов обратитесь к wiki. Также вы можете ознакомиться с примерами готовых плагинов в нашем репозитории.

Состав библиотеки

namespace Monq.Plugins.Abstractions

Этот интерфейс предназначен для регистрации сущностей необходимых для работы плагина:

  • Cвойство PluginTask регистрирует стратегию выполнения задачи;
  • Метод RegisterServiceProvider регистрирует зависимости в DI контейнере агента.

Примеры реализации интерфейса: SystemInfoPlugin, SystemMetricsPlugin.

Этот интерфейс содержит только метод Process предназначенный для обработки результата задания после его выполнения.

Этот интерфейс содержит только определение метода Run который вызывается Monq Agent'ом при получении соответствующего задания. Здесь должна выполняться ETL логика плагина для работы с конкретным источником данных, а именно:

  • Извлечение данных из источника;
  • Преобразование, очистка и обогащение данных, чтобы они соответствовали потребностям дальнейшей обработки в Monq;
  • Загрузка преобразованных данных в Monq с помощью API потоков данных для дальнейшей обработки.

Примеры реализации интерфейса: SystemInfoPlugin, SystemMetricsPlugin.

namespace Monq.Plugins.Abstractions.Models

Это модель задания плагина. Используется агентом для поиска необходимой стратегии выполнения задания. Содержит следующие свойства:

  • Name Публичное название команды. Показывается в логах.
  • Command Идентификатор команды. Должен быть уникальным для всех команд всех плагинов используемых в агенте. За подробной информацией об именовании команд обратитесь к разделу именование команд плагинов.
  • ProcessorStrategyType Тип стратегии выполнения задания. Экземпляр этого класса создается агентом при выполнении задания.
  • PostProcessorStrategyType Опциональное свойство. Тип стратегии обработки результатов задания. Экземпляр этого класса создается агентом после выполнения основного задания для обработки результатов.

Примеры использования класса: SystemInfoPlugin, SystemMetricsPlugin.

namespace Monq.Plugins.Abstractions.Extensions

Класс расширения предназначенный для двусторонней конвертации моделей в словарь содержащий названия свойств и их значения. Применение этого метода описано в разделе конвертация variables в модель конфигурации задания.

Примеры использования метода: SystemInfoPlugin, SystemMetricsPlugin.

namespace Monq.Plugins.Abstractions.Exceptions

Исключение предназначенное для информирования о некорректной конфигурации плагина.

Примеры использования исключения: SystemInfoPlugin, SystemMetricsPlugin.

namespace Monq.Plugins.Abstractions.Converters

Класс предназначен для внутреннего использования.

About

A library with a set of methods, classes and interfaces for implementing DLL plugins for MONQ agents.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages