У меня есть веб-задание Azure, которое читает из очереди служебной шины.Моя цель - синхронно обрабатывать 1 сообщение из очереди.Возможно ли это?
Я заметил, что если в очереди 100 сообщений, я вижу 10 ~ 20 экземпляров веб-задания, выполняющихся одновременно, каждый из которых обрабатывает разные сообщения из очереди.Я хотел бы ограничить это 1 сообщением.До сих пор я пробовал следующее:
- Я создал файл settings.job со свойством {"is_singleton": true}.
- Я также пытался использовать атрибут [Singleton] поверх сигнатуры функции.
- Я пытался установить свойства config.Queues.BatchSize = 1 и config.Queues.NewBatchThreshold = 1.
Вот подпись моей функции webjob:
[ServiceBusAccount("servicebusconnstr")]
public static void MigrateDoc([ServiceBusTrigger("myqueue")] string queueItem, TextWriter log)
{
...
}
Кажется, что ни один из этих методов не работает.