public static IWorkerBuilderCore AddTaskRepository <T>(this IWorkerBuilderCore builder) where T : class, Tasks.ITaskRepository { builder.Services.AddSingleton <Tasks.ITaskRepository, T>(); return(builder); }
public WorkerExecutorBuilder(IWorkerBuilderCore workerBuilder) { this.workerBuilder = workerBuilder ?? throw new ArgumentNullException(nameof(workerBuilder)); workerBuilder.Services.AddSingleton <ITaskHandlerLocator>(this); workerBuilder.Services.AddSingleton <TaskExecutor>(); }
public static IWorkerBuilderCore AddMongoDb(this IWorkerBuilderCore builder, IConfiguration configuration) { builder.Services.AddMongoDbContext <MongoDB.WorkerMongoDbContext>(configuration); AddMongoDb <MongoDB.WorkerMongoDbContext>(builder); return(builder); }
public static IWorkerBuilderCore AddMongoDb(this IWorkerBuilderCore builder, Action <IMongoDbContextBuilder> optionsAction) { builder.Services.AddMongoDbContext <MongoDB.WorkerMongoDbContext>(optionsAction); AddMongoDb <MongoDB.WorkerMongoDbContext>(builder); return(builder); }
public static IWorkerBuilderCore AddMongoDb <TContext>(this IWorkerBuilderCore builder) where TContext : MongoDbContext, MongoDB.IWorkerMongoDbContext { builder.Services.AddMongoDbContextExension <TContext, MongoDB.IWorkerMongoDbContext>(); builder.Services.AddSingleton <ITaskRepository, MongoDbTaskRepository>(); return(builder); }
public static IWorkerBuilderCore AddTaskAssembly(this IWorkerBuilderCore builder, Assembly assembly) { if (assembly == null) { throw new ArgumentNullException(nameof(assembly)); } var assemblyTypes = assembly.GetTypes(); foreach (var type in assemblyTypes) { if (!TaskMetadata.CheckTaskType(type)) { continue; } builder.AddTaskType(type); } return(builder); }
public static IWorkerExecutorBuilder AddExecutor(this IWorkerBuilderCore builder) { return(new WorkerExecutorBuilder(builder)); }
public static IWorkerBuilderCore AddTaskType <TTask>(this IWorkerBuilderCore builder) { builder.AddTaskType(typeof(TTask)); return(builder); }
public static IWorkerExecutorBuilder AddLocalExecutor(this IWorkerBuilderCore builder) { builder.Services.AddSingleton <ITaskAllocator, LocalTaskAllocator>(); return(builder.AddExecutor()); }