Beispiel #1
0
        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>();
        }
Beispiel #3
0
        public static IWorkerBuilderCore AddMongoDb(this IWorkerBuilderCore builder, IConfiguration configuration)
        {
            builder.Services.AddMongoDbContext <MongoDB.WorkerMongoDbContext>(configuration);

            AddMongoDb <MongoDB.WorkerMongoDbContext>(builder);

            return(builder);
        }
Beispiel #4
0
        public static IWorkerBuilderCore AddMongoDb(this IWorkerBuilderCore builder, Action <IMongoDbContextBuilder> optionsAction)
        {
            builder.Services.AddMongoDbContext <MongoDB.WorkerMongoDbContext>(optionsAction);

            AddMongoDb <MongoDB.WorkerMongoDbContext>(builder);

            return(builder);
        }
Beispiel #5
0
        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);
        }
Beispiel #6
0
        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));
 }
Beispiel #8
0
 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());
 }