public CoreJobQueue(ILogger <CoreJobQueue> logger, IJobSender sender, CoreJobClientOptions options, IServiceProvider serviceProvider) { _logger = logger; _sender = sender; _options = options; _serviceProvider = serviceProvider; _jobs = new Queue <JobMessage>(); }
public XxlJobQueue(ILogger <XxlJobQueue> logger, IJobSender sender, XxlJobOptions options, IServiceProvider serviceProvider) { _logger = logger; _sender = sender; _options = options; _serviceProvider = serviceProvider; _jobs = new Queue <JobMessage>(); }
public JobDispatcher(ILogger <JobDispatcher> logger, IJobSender sender, IServiceProvider serviceProvider) { _logger = logger; _sender = sender; _serviceProvider = serviceProvider; _publishedChannel = Channel.CreateUnbounded <JobMessage>(new UnboundedChannelOptions() { SingleReader = true, SingleWriter = true }); _executingJobs = new ConcurrentDictionary <int, XxlJobQueue>(); Task.Factory.StartNew(Sending, _cts.Token, TaskCreationOptions.LongRunning, TaskScheduler.Default); }