...
Code Block |
---|
[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); } } |
Injecte den Service und den Builder z.B. in QuinoProcessExtensions
Code Block |
---|
public static class QuinoProcessExtensions
{
public static IServiceCollection AddQuinoProcess([NotNull] this IServiceCollection serviceCollection)
{
serviceCollection
.UseBuilder<QuinoProcessBuilder>()
.UseRegisterSingle<IQuinoProcessExecutor, QuinoProcessService>()
.UseDataGenerator<QuinoProcessDataGenerator>()
.AddQuartz()
.AddQuartzHostedService(config =>
{
config.WaitForJobsToComplete = true;
config.StartDelay = TimeSpan.FromSeconds(10);
})
.AddHostedService(services => services.GetInstance<IQuinoProcessExecutor>() as QuinoProcessService)
.UseBuilder<LoggingBuilder>()
.UseRegisterSingle<ILoggingProvider, LoggingProvider>();
return serviceCollection;
}
} |
Danach siehst du deinen neuen Process unter Admin->Processes und du kannst beginnen zu testen.