Erstelle einen Service, wo du die nötigen Dependencies injecten lässt, z.B.
public class LoggingProvider : ILoggingProvider { public LoggingProvider( [NotNull] IDataSessionFactory sessionFactory, [NotNull] ILogger logger) { _dataSessionFactory = sessionFactory ?? throw new ArgumentNullException(nameof(sessionFactory)); _logger = logger ?? throw new ArgumentNullException(nameof(logger)); }
Baue eine Builder, der von OptionalMetadataBuilder vererbt. Darin kannst du auch die ProcessGroup definieren.
[UsedImplicitly] public class LoggingBuilder : OptionalMetadataBuilder { protected override void AddCoreElements() { var processGroup = Builder.Add.ProcessGroup("Logging"); Builder.Add.Process( nameof(LoggingProvider.DeleteLogsAfternDays), processGroup) .Body<ILoggingProvider>((loggingProvider, context) => loggingProvider.DeleteLogsAfternDays(context)) .Schedule(@"0 0 0 ? * *") .MaxRandomDelayInSeconds(60 * 60 * 3) .AllowManualExecution() .DeleteLogsAfternDays(30); } }