Thanks. Marco
Hi, looking inside RabbitMq client libray, setting ConsumerDispatchConcurrency
>1 generate a Thread pool by itself, according with this documentation:
https://rabbitmq.github.io/rabbitmq-dotnet-client/api/RabbitMQ.Client.ConnectionFactory.html#RabbitMQ_Client_ConnectionFactory_ConsumerDispatchConcurrency
So seems using IAsyncBasicConsumer
the library made all.
internal ConsumerDispatcherChannelBase(Impl.Channel channel, ushort concurrency)
{
_channel = channel;
_concurrency = concurrency;
var channelOpts = new System.Threading.Channels.UnboundedChannelOptions
{
SingleReader = _concurrency == 1,
SingleWriter = false,
AllowSynchronousContinuations = false
};
var workChannel = System.Threading.Channels.Channel.CreateUnbounded<WorkStruct>(channelOpts);
_reader = workChannel.Reader;
_writer = workChannel.Writer;
Func<Task> loopStart = ProcessChannelAsync;
if (_concurrency == 1)
{
_worker = Task.Run(loopStart);
}
else
{
var tasks = new Task[_concurrency];
for (int i = 0; i < _concurrency; i++)
{
tasks[i] = Task.Run(loopStart);
}
_worker = Task.WhenAll(tasks);
}
}
Hi. thanks, In your example you refer for multi consumer for EventBus. And for multi consumer for backgroud job using RabbitMq. it's enought to set ConsumerDispatchConcurrency using this example:
[Dependency(ReplaceServices = true)]
public class MyAbpRabbitMqModule : AbpRabbitMqModule
{
public override void ConfigureServices(ServiceConfigurationContext context)
{
var configuration = context.Services.GetConfiguration();
Configure<AbpRabbitMqOptions>(configuration.GetSection("RabbitMQ"));
Configure<AbpRabbitMqOptions>(options =>
{
foreach (var connectionFactory in options.Connections.Values)
{
connectionFactory.DispatchConsumersAsync = true;
connectionFactory.ConsumerDispatchConcurrency = 3; // add this line for configure
}
});
}
}
<br> <br>
Ok. Ii's work also for me. Thanks,
I fix it by myself. Sorry,
ok thanks now it's fixed.
Same issue, I think the problem is due to the recent migration of ABP portal to Cloudflare.
Yes it's works. I will try regenerate solution. Thanks.
Hi I change version to all Blazorise pachages to 1.5.2, with no success. The only way I see the icon is to add in app.razor css from Blazorize.Icons.FontAwsome like below
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>AssoUp</title>
<base href="/" />
<link href="_content/Blazorise.Icons.FontAwesome/v6/css/all.min.css" rel="stylesheet">
<AbpStyles BundleName="@BlazorLeptonXThemeBundles.Styles.Global" />
<HeadOutlet @rendermode="InteractiveServer" />
</head>
It's right? Thanks