2022-01-14 12:54:17 +00:00
|
|
|
using Elsa.Activities.Scheduling.Contracts;
|
|
|
|
|
using Elsa.Activities.Scheduling.Handlers;
|
2022-01-18 10:23:58 +00:00
|
|
|
using Elsa.Activities.Scheduling.HostedServices;
|
2022-01-14 21:39:36 +00:00
|
|
|
using Elsa.Activities.Scheduling.Jobs;
|
|
|
|
|
using Elsa.Activities.Scheduling.Services;
|
2022-01-14 12:54:17 +00:00
|
|
|
using Elsa.Mediator.Extensions;
|
|
|
|
|
using Microsoft.Extensions.DependencyInjection;
|
|
|
|
|
|
|
|
|
|
namespace Elsa.Activities.Scheduling.Extensions;
|
|
|
|
|
|
|
|
|
|
public static class ServiceCollectionExtensions
|
|
|
|
|
{
|
|
|
|
|
public static IServiceCollection AddSchedulingServices(this IServiceCollection services, ISchedulingServiceProvider serviceProvider)
|
|
|
|
|
{
|
2022-01-14 21:39:36 +00:00
|
|
|
services
|
|
|
|
|
.AddSingleton<IJobManager, JobManager>()
|
|
|
|
|
.AddSingleton<IJobHandler, RunWorkflowJobHandler>()
|
|
|
|
|
.AddSingleton<IJobHandler, ResumeWorkflowJobHandler>()
|
2022-01-18 10:23:58 +00:00
|
|
|
.AddSingleton<IWorkflowTriggerScheduler, WorkflowTriggerScheduler>()
|
|
|
|
|
.AddNotificationHandlersFrom<ScheduleWorkflowsHandler>()
|
|
|
|
|
.AddHostedService<ScheduleWorkflowsHostedService>();
|
2022-01-14 21:39:36 +00:00
|
|
|
|
2022-01-14 12:54:17 +00:00
|
|
|
serviceProvider.ConfigureServices(services);
|
|
|
|
|
return services;
|
|
|
|
|
}
|
|
|
|
|
}
|