Функция Azure не запускается, когда сообщение попадает в очередь служебной шины через несколько дней.

Я заметил эту странную проблему с функцией azure, которая запускается сообщением очереди служебной шины.

Azure function is continuous running, что есть trigger when service bus queue gets new message.

но когда в очереди нет сообщения в течение длительного времени, например, предположим, 1-2 дня, и когда новое сообщение попадает в очередь через 2 дня, странно, что функция azure не запускается, зачем вообще нужна подсказка?

 public static class TestController
    {
        [FunctionName("TestController")]
        public static async Task Run([ServiceBusTrigger("%TestController.Topic%", "%TestController.Subscription%", AccessRights.Listen,
            Connection = "ConnServiceBus")]BrokeredMessage currentMessage, TraceWriter log, ExecutionContext context)
        {
            log.Info("TestControllerprocessing start " + DateTime.Now);

person Neo    schedule 30.08.2018    source источник


Ответы (1)


Попробуйте принудительно повторно синхронизировать триггеры, нажав кнопку «Обновить». Это известная проблема для Функций Azure, которые бездействуют в течение недетерминированного периода времени. Также проверьте, видите ли вы сообщения в очереди недоставленных сообщений.

Чтобы функция Azure не простаивала, включите параметр «Всегда включен»: откройте приложение-функцию на портале Azure. Нажмите «Настройки приложения-функции» в верхней части колонки «Приложение-функция». Прокрутите страницу вниз и нажмите «Перейти к настройкам службы приложений». В колонке «Настройки» прокрутите вниз и нажмите «Настройки приложения». В колонке «Параметры приложения» убедитесь, что для параметра «Всегда включено» установлено значение «Вкл.».

person Mehdi Ibrahim    schedule 30.08.2018
comment
да, я попытался перезапустить, и он работает, но обновление / перезапуск - не идеальное решение для производства: (любое другое решение, которое мы можем сделать для этой проблемы? - person Neo; 30.08.2018
comment
сообщение не в очереди недоставленных писем - person Neo; 30.08.2018
comment
Чтобы функция Azure не простаивала, включите Always On: откройте приложение-функцию на портале Azure. Нажмите «Настройки приложения-функции» в верхней части колонки «Приложение-функция». Прокрутите страницу вниз и нажмите «Перейти к настройкам службы приложений». В колонке «Настройки» прокрутите вниз и нажмите «Настройки приложения». В колонке «Параметры приложения» убедитесь, что для параметра «Всегда включено» установлено значение «Вкл.». - person Mehdi Ibrahim; 30.08.2018
comment
я нашел его в свойствах веб-приложения, но не в свойствах функции Azure :( - person Neo; 30.08.2018
comment
я не находил всегда включенным, потому что мой план хостинга был потреблением. :) большое спасибо - person Neo; 30.08.2018
comment
Always On доступен только в тарифном плане Free / Basic / Standard / Premium. Предполагается, что план потребления автоматически пробуждает ваши функции, но, очевидно, он этого не делает. Попробуйте переключиться на другой план и включить эту функцию, чтобы увидеть, имеет ли это значение. - person Mehdi Ibrahim; 30.08.2018
comment
спасибо, но другие функции работают нормально, проблем с бездействием я обнаружил, что они также находятся в плане потребления? почему только одна функция? - person Neo; 14.09.2018