using Elsa.MassTransit.Consumers; using Elsa.MassTransit.Options; using MassTransit; using Microsoft.Extensions.Options; namespace Elsa.MassTransit.ConsumerDefinitions; /// /// Configures the endpoint for /// public class DispatchWorkflowRequestConsumerDefinition : ConsumerDefinition { private readonly IOptions _options; /// public DispatchWorkflowRequestConsumerDefinition(IOptions options) { _options = options; ConcurrentMessageLimit = _options.Value.ConcurrentMessageLimit; } /// protected override void ConfigureConsumer(IReceiveEndpointConfigurator endpointConfigurator, IConsumerConfigurator consumerConfigurator, IRegistrationContext context) { endpointConfigurator.UseMessageRetry(r => r.Interval(5, 1000)); endpointConfigurator.UseInMemoryOutbox(context); } }