我使用Microsoft.Azure.WebJobs.Extensions
和Microsoft.Azure.WebJobs.Extensions.ServiceBus
编写了一个WebJob程序,它侦听AzureServiceBus队列,MaxConcurrentCalls为3。
主机配置:
public static void Main(string[] args)
{
CreateHostBuilder(args).Build().Run();
}
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.UseSerilog()
.ConfigureServices((hostContext, services) =>
{
startup.ConfigureServices(services, hostContext.Configuration);
}).ConfigureWebJobs((hostContext, webJobsBuilder) =>
{
webJobsBuilder
.AddAzureStorageBlobs()
.AddServiceBus(options =>
{
options.AutoCompleteMessages = true;
options.MaxAutoLockRenewalDuration = TimeSpan.FromHours(1);
options.MaxConcurrentCalls = 3;
}
);
});
经办人:
public async Task MyQueueHandle1([ServiceBusTrigger("myqueue1")] string message)
{
_log.Info("this queue was triggered!");
}
现在,我添加了第二个队列,使用相同的connectionString,但我想为最后一个队列设置一个10的MaxConcurrentCalls。由于微软的文档中没有更新文档,而且这个库有点旧,我不知道如何配置这两个队列。也许我应该用另一个lib。或者有办法做到这一点吗?
1条答案
按热度按时间yzuktlbb1#
触发器设置在
host.json
中定义,并由Functions应用程序中的所有函数共享。如果您需要为第二个队列进行不同的设置,则需要将其部署为不同的Functions应用。