public static void AddWebApi(this IJobbrBuilder builder, Action <JobbrWebApiConfiguration> config) { var customConfig = new JobbrWebApiConfiguration(); config(customConfig); builder.Add <JobbrWebApiConfiguration>(customConfig); builder.Register <IJobbrComponent>(typeof(WebHost)); builder.Register <IConfigurationValidator>(typeof(WebApiConfigurationValidator)); }
public static void AddFileSystemArtefactStorage(this IJobbrBuilder builder, Action <FileSystemArtefactStorageConfiguration> config) { var defaultConfig = new FileSystemArtefactStorageConfiguration(); config(defaultConfig); builder.Add <FileSystemArtefactStorageConfiguration>(defaultConfig); builder.Register <IArtefactsStorageProvider>(typeof(FileSystemArtefactsStorageProvider)); builder.Register <IConfigurationValidator>(typeof(ConfigurationValidator)); }
public static void AddRavenFsArtefactStorage(this IJobbrBuilder builder, Action <RavenFsConfiguration> config) { var defaultConfig = new RavenFsConfiguration(); config(defaultConfig); builder.Add <RavenFsConfiguration>(defaultConfig); builder.Register <IArtefactsStorageProvider>(typeof(RavenFsArtefactStorageProvider)); builder.Register <IConfigurationValidator>(typeof(RavenFsConfigurationValidator)); }
public static void AddMsSqlStorage(this IJobbrBuilder builder, Action <JobbrMsSqlConfiguration> config) { var msSqlConfiguration = new JobbrMsSqlConfiguration(); config(msSqlConfiguration); builder.Add <JobbrMsSqlConfiguration>(msSqlConfiguration); builder.Register <IJobStorageProvider>(typeof(MsSqlStorageProvider)); builder.Register <IConfigurationValidator>(typeof(JobbrMsSqlConfigurationValidator)); }
public static void AddRavenDbStorage(this IJobbrBuilder builder, Action <JobbrRavenDbConfiguration> config) { var ravenConfiguration = new JobbrRavenDbConfiguration(); config(ravenConfiguration); builder.Add <JobbrRavenDbConfiguration>(ravenConfiguration); builder.Register <IJobStorageProvider>(typeof(RavenDbStorageProvider)); builder.Register <IConfigurationValidator>(typeof(RavenDbConfigurationValidator)); }
public static void AddDefaultScheduler(this IJobbrBuilder builder, Action <DefaultSchedulerConfiguration> config) { var defaultConfig = new DefaultSchedulerConfiguration(); config(defaultConfig); builder.Add <DefaultSchedulerConfiguration>(defaultConfig); builder.Register <IPeriodicTimer>(typeof(FixedMinuteTimer)); builder.Register <IDateTimeProvider>(typeof(UtcNowTimeProvider)); builder.Register <IJobScheduler>(typeof(DefaultScheduler)); }
public static void AddForkedExecution(this IJobbrBuilder builder, Action <ForkedExecutionConfiguration> config) { var defaultConfig = new ForkedExecutionConfiguration(); config(defaultConfig); builder.Add <ForkedExecutionConfiguration>(defaultConfig); builder.Add <IDateTimeProvider>(new UtcNowTimeProvider()); builder.Add <IPeriodicTimer>(new FixedIntervalTimer()); builder.Register <IJobbrComponent>(typeof(BackChannelWebHost)); builder.Register <IJobExecutor>(typeof(ForkedJobExecutor)); builder.Register <IJobRunContextFactory>(typeof(JobRunContextFactory)); builder.Register <IConfigurationValidator>(typeof(ConfigurationValidator)); }
public static void AddDashboard(this IJobbrBuilder builder, Action <DashboardConfiguration> config) { var customConfig = new DashboardConfiguration(); config(customConfig); builder.Add <DashboardConfiguration>(customConfig); builder.Register <IJobbrComponent>(typeof(DashboardBackend)); }