Как ограничить / установить параллелизм QueueTriggers, которые выполняются с помощью Azure WebJobs

#azure #azure-webjobs

#azure #azure-webjobs

Вопрос:

У меня есть 5 заданий QueueTrigger в одном файле Function.cs. 3 задания должны выполняться последовательно (синхронно), а 2 могут обрабатывать до 16 элементов одновременно.

Из того, что я могу расшифровать из документации, метод настройки очереди AddAzureStorage поддерживает только установку этого параллелизма для всех заданий:

 .AddAzureStorage(queueConfig =>
{
 queueConfig.BatchSize = 1;
});
 

Выше теперь установлено, что все задания могут обрабатывать только один элемент одновременно. Если я установлю для него значение 16, то все задания будут выполняться параллельно, чего я тоже не хочу.

Есть ли способ установить размер пакета для каждого веб-задания QueueTrigger или мне придется установить его равным 16 и использовать блокировки для тех, которые я не хочу запускать параллельно, для достижения желаемого поведения?