As far as I know, the BatchSize is the maximum number of queue messages that are picked up simultaneously to be executed in parallel (default is 16).
In my opinion, it means azure webjobs will execute 16 thread at one time to execute the function.
If you want to see the number of messages that were grabbed at any given moment.
I suggest you could write a test demo on the local develop environment.
I suggest you could try below functions.
public static void ProcessQueueMessage([QueueTrigger("queue")] string message, TextWriter log)
{
Console.WriteLine("start to execute queue : " + message );
//log.WriteLine(message);
Thread.Sleep(10000);
Console.WriteLine("End to execute queue : " + message);
}
The "Thread.Sleep(10000)" in the code will sleep the thread 10 seconds.
Then you could add 20 message in the queue firstly and run the webjobs.
You will find the result is like below:
It will firstly execute 16 thread to execute the function:
