File tree Expand file tree Collapse file tree
API/SOFTURE.MessageBroker.Rabbit Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -46,7 +46,8 @@ public static IServiceCollection AddCommonConsumers<TSettings>(
4646 this IServiceCollection services ,
4747 Assembly assembly ,
4848 int retryCount = 0 ,
49- int prefetchCount = 50 )
49+ int prefetchCount = 50 ,
50+ bool exponentialRetry = false )
5051 where TSettings : IRabbitSettings
5152 {
5253 var consumerTypes = GetConsumers < IMessage > ( assembly ) ;
@@ -100,8 +101,22 @@ public static IServiceCollection AddCommonConsumers<TSettings>(
100101 c . ConfigureConsumer ( ctx , type ) ;
101102 c . PrefetchCount = prefetchCount ;
102103
103- if ( retryCount != 0 )
104- c . UseMessageRetry ( r => r . Immediate ( retryCount ) ) ;
104+ switch ( exponentialRetry )
105+ {
106+ case false when retryCount != 0 :
107+ c . UseMessageRetry ( r => r . Immediate ( retryCount ) ) ;
108+ break ;
109+ case true when retryCount != 0 :
110+ c . UseMessageRetry ( r =>
111+ {
112+ r . Exponential (
113+ retryLimit : retryCount ,
114+ minInterval : TimeSpan . FromSeconds ( 1 ) ,
115+ maxInterval : TimeSpan . FromMinutes ( 10 ) ,
116+ intervalDelta : TimeSpan . FromSeconds ( 1 ) ) ;
117+ } ) ;
118+ break ;
119+ }
105120 }
106121 } ) ;
107122 } ) ;
You can’t perform that action at this time.
0 commit comments