1

I'v создал Azure WebJob. Публикуйте его как непрерывную работу.Azure WebJob не запускает очередь

Вот основная функция:

static void Main() 
    { 

     var config = new JobHostConfiguration(); 
     config.Queues.MaxPollingInterval = TimeSpan.FromSeconds(2); 
     config.Queues.MaxDequeueCount = 3; 
     var host = new JobHost(config); 
     host.RunAndBlock(); 
    } 

Вот функция, которая вызывает очереди:

public static class Functions{ 
    public static void ProcessQueueMessage([QueueTrigger("queue")]QueueMessage queueMessage, TextWriter log) 
    { 
     //du staff 
    } 
    } 

Чем я отправить сообщение в очередь называется «очередь», но работа не срабатывает. Также на панели инструментов я вижу, что работа запустилась и выполняется.

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

Почему это не вызвано сообщением в очереди на Azure?

+1

вы видите какие-либо ошибки в журнале webjob? – ahmelsayed

ответ

0

Я подозреваю, что конфигурация хранилища веб-задания может не указывать на правильную учетную запись хранилища. Проверьте, записываете ли вы в очередь учетной записи хранилища, которая настроена с вашим веб-заданием.

Также следует иметь в виду, что если веб-работа размещена в свободном плане, возможно, что веб-работа не запущена.

Некоторые важные моменты из Azure Documentation

Notes

  1. веб-приложений в режиме фридайвинга может тайм-аут после 20 минут, если нет каких-либо запросов к (развертывания) сайта ВСМ и портала веб-приложения не открыт в Лазуре. Запросы на фактический сайт не будут сброшены.
  2. Код для непрерывной работы должен быть записан для запуска в бесконечном цикле. Непрерывные задания выполняются непрерывно только в том случае, если веб-приложение работает.
  3. Основные и стандартные режимы предлагают функцию Always On, которая при включении предотвращает простоя веб-приложений.
2

Вслед за @Sandesh, я рекомендую никому проверить приложение настройки в первую очередь.

Оба AzureWebJobsDashboard и AzureWebJobsStorage должны быть помещены в настройках приложения поля внутри Лазурного WebSites вкладки как изображение, показанное ниже Настройка. Две клавиши (AzureWebJobsStorage, AzureWebJobsDashboard) жестко закодированы, так что NOT изменить имена ключей.

Кроме того, недостаточно, чтобы добавить файл App.config. Проверьте, что значения размещены на вкладке «Настройки приложения» на вкладке «Настроить».

enter image description here

+0

Webjob не запускается вообще, если AzureWebJobsDashboard не установлен, поэтому не может быть этой проблемы ... – Thomas

Смежные вопросы