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);
}
}