Azure WebJob concurrency when using ServiceBusTrigger

I am using Azure storage queues to feed WebJob using an attribute QueueTrigger. I am setting my own QueueTriggerto remove multiple elements for parallel processing, for example:

public static void Main()
{
    JobHostConfiguration config = new JobHostConfiguration();
    config.NameResolver = new QueueNameResolver();

    config.Queues.NewBatchThreshold = 10;

    JobHost host = new JobHost(config);
    host.RunAndBlock();
}

public static void ExecuteStorageQueueItem([QueueTrigger("%AzureQueueName%")] CloudQueueMessage message, TextWriter logger)
{
    ProcessRequest(message.AsString, logger);
}

I would rather use a service bus. Does parameter MaxConcurrentCallson ServiceBusConfigurationallow the same automatic parallel execution? For instance:

public static void Main()
{

    JobHostConfiguration config = new JobHostConfiguration();
    config.NameResolver = new QueueNameResolver();

    ServiceBusConfiguration serviceBusConfig = new ServiceBusConfiguration();
    serviceBusConfig.MessageOptions.MaxConcurrentCalls = 10;
    config.UseServiceBus(serviceBusConfig);

    JobHost host = new JobHost(config);
    host.RunAndBlock();
}

public static void ExecuteServiceBusItem([ServiceBusTrigger("%ServiceBusQueueName%")] BrokeredMessage message, TextWriter logger)
{
    ProcessRequest(message.GetBody<string>(), logger);            
}

I'm not sure if MaxConcurrentCallswhat I think is doing!

+4
source share
1 answer

, MaxConcurrentCalls , .

QueueClient.OnMessage infinte, . OnMessageOptions.MaxConcurrentCall , .

: Windows Azure

+3

All Articles