public static async Task <SimpleProcessingWorker <T> > CreateAndStartAsync(IQueueConsumer consumer, Action <IEnumerable <T> > batchCallbackAction, ushort batchSize, CancellationToken cancellationToken, ILogger logger = null) { var instance = new SimpleProcessingWorker <T>(consumer, batchCallbackAction, batchSize, logger); await instance.StartAsync(cancellationToken).ConfigureAwait(false); return(instance); }
public static async Task <SimpleProcessingWorker <T> > CreateAndStartAsync(IQueueConsumer consumer, Action <T, RabbitMQConsumerContext> callbackAction, CancellationToken cancellationToken, ILogger logger = null) { var instance = new SimpleProcessingWorker <T>(consumer, callbackAction, logger); await instance.StartAsync(cancellationToken).ConfigureAwait(false); return(instance); }
public static async Task <SimpleProcessingWorker <T> > CreateAndStartAsync(IQueueClient queueClient, string queueName, Action <IEnumerable <T> > batchCallbackAction, ushort batchSize, CancellationToken cancellationToken, IConsumerCountManager consumerCountManager = null, IMessageRejectionHandler messageRejectionHandler = null, ILogger logger = null, ushort prefetchCount = 1) { var instance = new SimpleProcessingWorker <T>(queueClient, queueName, batchCallbackAction, batchSize, consumerCountManager, messageRejectionHandler, logger, prefetchCount); await instance.StartAsync(cancellationToken).ConfigureAwait(false); return(instance); }