public ExecutorRegistryProcessor(ILogger <ExecutorRegistryProcessor> logger, CoreJobClientOptions options, ICoreJobExecutor xxlJobExecutor) { _logger = logger; _options = options; _xxlJobExecutor = xxlJobExecutor; }
public CoreJobExecutor(CoreJobClientOptions options, IRestClient httpClient, ILogger <CoreJobExecutor> logger) { _options = options; _httpClient = httpClient; _logger = logger; }
public CoreJobClientMiddleware(CoreJobClientOptions options, ClientRouteTable routeTable, RequestHandler requestHandler, RequestDelegate next) { _options = options; _routeTable = routeTable; _next = next; _requestHandler = requestHandler; }
public CoreJobSender(ICoreJobServicesProvider <ICoreJobExecutorHandler> handlerProvider, ILogger <CoreJobSender> logger, ICoreJobExecutor adminExecutor, CoreJobClientOptions options) { _handlerProvider = handlerProvider; _logger = logger; _adminExecutor = adminExecutor; _options = options; }
public CoreJobQueue(ILogger <CoreJobQueue> logger, IJobSender sender, CoreJobClientOptions options, IServiceProvider serviceProvider) { _logger = logger; _sender = sender; _options = options; _serviceProvider = serviceProvider; _jobs = new Queue <JobMessage>(); }
public static IServiceCollection AddCoreJobClient(this IServiceCollection services, IConfiguration configuration, Action <CoreJobClientOptions> action = null) { // options var options = new CoreJobClientOptions(); action?.Invoke(options); services.AddOptionConfiguration(configuration, options); services.AddSingleton(options); // http services.AddHttpContextAccessor(); // services services.AddSingleton <ICoreJobExecutor, CoreJobExecutor>(); services.AddSingleton <IProcessor, ExecutorRegistryProcessor>(); services.AddTransient <IRestClient>(p => { var conf = p.GetRequiredService <CoreJobClientOptions>(); var client = new RestClient(conf.AdminUrl); client.RemoteCertificateValidationCallback = (sender, certificate, chain, sslPolicyErrors) => true; return(client); }); services.AddSingleton <IJobDispatcher, JobDispatcher>(); services.AddSingleton <IJobSender, CoreJobSender>(); services.AddTransient <CoreJobQueue>(); services.AddSingleton <IJobLoggerStore, LiteDBLoggerStore>(); // route table services.AddRouteTable(new ClientRouteTable()); // host service services.AddHostedService <CoreJobBackgroundService>(); // job handler services.AddSingleton(typeof(ICoreJobServicesProvider <>), typeof(CoreJobServicesProvider <>)); services.ScanDynamicJobExecutorHandler(options.HandlerServiceLifetime); return(services); }