public override ValueTask<Result> InitializeAsync(IServiceProvider serviceProvider, CancellationToken ct = default)
{
using var scope = serviceProvider.CreateAsyncScope();
_ = scope.ServiceProvider.GetRequiredService<ILogger<ReportBuilderService>>();
_ = scope.ServiceProvider.GetRequiredService<ReportBuilderContext>();
_ = scope.ServiceProvider.GetRequiredService<DataPluginContext>();
_ = scope.ServiceProvider.GetRequiredService<InContactService>();
_ = scope.ServiceProvider.GetRequiredService<IOptions<ReportBuilderConfig>>().Value;
// This job runs every minute, polling the queue table to see
// if there are new records and, if so, running them.
RecurringJob.AddOrUpdate<ReportBuilderService>
(
recurringJobId: "ExecuteQueueItems",
service => service.ProcessQueue(CancellationToken.None),
Cron.Minutely
);
RecurringJob.AddOrUpdate<ReportBuilderService>
(
recurringJobId: "AbortCancelledJobs",
service => service.CancelItems(CancellationToken.None),
Cron.Minutely
);
return ValueTask.FromResult(Result.FromSuccess());
}
public override ValueTask<Result> InitializeAsync(IServiceProvider serviceProvider, CancellationToken ct = default)
{
using var scope = serviceProvider.CreateAsyncScope();
_ = scope.ServiceProvider.GetRequiredService<ILogger<ReportBuilderService>>();
_ = scope.ServiceProvider.GetRequiredService<ReportBuilderContext>();
_ = scope.ServiceProvider.GetRequiredService<DataPluginContext>();
_ = scope.ServiceProvider.GetRequiredService<InContactService>();
_ = scope.ServiceProvider.GetRequiredService<IOptions<ReportBuilderConfig>>().Value;
// This job runs every minute, polling the queue table to see
// if there are new records and, if so, running them.
RecurringJob.AddOrUpdate<ReportBuilderService>
(
recurringJobId: "ExecuteQueueItems",
service => service.ProcessQueue(CancellationToken.None),
Cron.Minutely
);
RecurringJob.AddOrUpdate<ReportBuilderService>
(
recurringJobId: "AbortCancelledJobs",
service => service.CancelItems(CancellationToken.None),
Cron.Minutely
);
return ValueTask.FromResult(Result.FromSuccess());
}