Как предотвратить запуск веб-задания Azure после публикации?


У нас есть настройка веб-сайта Azure с" промежуточным " слотом развертывания, и мы используем непрерывное веб-задание Azure для обработки длительных фоновых заданий. Похоже, что при публикации на веб-сайте (и включении двоичных файлов веб-задания) веб-задание перезапустится, если оно было остановлено ранее.

Наш текущий процесс развертывания выглядит следующим образом:

  1. развертывание в промежуточное состояние
  2. немедленно и быстро остановить веб-задание на Постановка (попытаться предотвратить 2-задания с обработка сообщений)
  3. дымовой тест и проверка кода на постановочных работах
  4. остановите рабочее веб-задание (дайте ему слить сообщения очереди)
  5. обмен между производством и постановкой
  6. запуск производственного веб-задания (которое было только постановочным веб-заданием)

Есть ли трюк (скажем, файл флага или что-то еще), чтобы сказать веб-заданию не запускаться после публикации?

3 14

3 ответа:

Чтобы развернуть непрерывное веб-задание в остановленном состоянии, просто добавьте файл с именем disable.job в корень вашего веб-задания (двоичные файлы), это сообщит платформе, что веб-задание в данный момент остановлено.

Чтобы увидеть это поведение, вы можете просто остановить непрерывное веб-задание и увидеть, что этот файл создан и помещен в каталог веб-задания.

Вы можете добавить параметр приложения WEBJOBS_STOPPED в промежуточный слот и установить его в 1. Сделайте эту настройку "настройка слота", чтобы она не менялась с производством.

АФАИК, для этого нет готового решения. Тем не менее, вы можете установить настройки приложения и попросить код веб-задания проверить его при запуске. Кроме того, вы можете использовать переменную HTTP_HOST для определения среды.