elsa-core/src/activities/Elsa.Activities.Scheduling/Extensions/ServiceCollectionExtensions.cs

26 lines
1 KiB
C#
Raw Normal View History

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;
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)
{
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 12:54:17 +00:00
serviceProvider.ConfigureServices(services);
return services;
}
}