/// <summary> /// Create processor /// </summary> /// <param name="config"></param> /// <param name="scheduler"></param> /// <param name="logger"></param> public TaskProcessor(ITaskProcessorConfig config, ITaskScheduler scheduler, ILogger logger) { _logger = logger ?? throw new ArgumentNullException(nameof(logger)); _config = config ?? throw new ArgumentNullException(nameof(config)); _scheduler = scheduler ?? throw new ArgumentNullException(nameof(scheduler)); _processors = new List <ProcessorWorker>(); for (var i = 0; i < Math.Max(1, config.MaxInstances); i++) { _processors.Add(new ProcessorWorker(this)); } }
/// <summary> /// Create processor /// </summary> /// <param name="config"></param> /// <param name="logger"></param> public TaskProcessor(ITaskProcessorConfig config, ILogger logger) : this(config, new DefaultScheduler(), logger) { }