Я использую WebJob, чтобы вытащить из своей очереди ServiceBus через триггерный метод и, похоже, работает хорошо. Проблема в том, что у меня есть ночная работа, которая работает в очереди, тогда я бы хотел, чтобы в конце работа выполнялась, когда работа над очередью была окончательно обработана, чтобы отправить результаты по электронной почте. Мой WebJob в настоящее время обрабатывает 16 элементов за раз, и мне, вероятно, придется иметь несколько WebJobs, работающих для обработки нагрузки, поэтому я не чувствую, что могу просто проверить, нет ли очереди на каждом триггере.Как определить, когда очередь ServiceBus пуста?
Есть ли способ, с помощью которого ServiceBus может сигнализировать, когда он пуст? Должен ли я иметь еще один повторяющийся процесс, который проверяет каждые 10 минут и срабатывает с ежедневным значением бита, чтобы убедиться, что это сделано? Кажется неэффективным. Есть ли какой-то шаблон Azure, который я здесь отсутствует?
Автор вопроса хотел знать, как определить сценарий, в котором очередь была опорожнена потребителями, чтобы он мог создать новое событие «Job done» или просто обнаружить и обработать случай. OnMessageAsync не помогает ему, поскольку, конечно, он не будет вызываться, когда очередь опустошается. – Shrulik