Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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.

image-20240926-154747.pngImage Added