2016-10-06 4 views
1

Я ищу, чтобы использовать API для изменения количества экземпляров веб-заданий, которые у меня работают на основе размера обработки Q, я знаю, что могу настроить правила на портале но минимальное время агрегации составляет 60 минут, и я не хочу, чтобы система ожидала 60 минут, прежде чем увеличивать масштаб, если мы внезапно получим всплеск работы.Azure Web Job - масштабирование убивает существующую веб-работу

Проблема у меня в том, что в настоящее время, если я масштабируюся на портале вручную, скажем от 1 до 5 экземпляров, он убивает одноразовый экземпляр, а затем запускает 5 новых.

Я предполагаю, что если бы я сделал это через API, то случится то же самое, знаете ли вы, есть ли способ избежать этого?

Благодаря

Si

UPDATE: Ниже я представил 4 рабочих мест, а затем как первый обрабатывал я масштабироваться от 1 до 3 случаев, и это то, что произошло, на работу, Никогда не закончил, затем повторите попытку после того, как закончились следующие 3, так как это сообщение вернулось бы в очередь, потому что обработка была неудачной изначально.

enter image description here

+0

Я знаю, что это не прямой ответ на ваш вопрос, но вы можете посмотреть на функции Azure. – 4c74356b41

+0

@ 4c74356b41 привет, я просто посмотрел на функции, но работа в сети довольно тяжелая, и я подозреваю, что ограничение памяти на 1,5 ГБ может помешать преобразованию приложения в функцию. Проблема в том, что я не уверен, какой параметр памяти в свойствах для webjob является тем, что нужно рассмотреть, см. Обновление выше для сведений о памяти. – Simon

+0

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

ответ

0

если я масштабироваться на портале вручную сказать 1 до 5 экземпляров он убивает одного запущенного экземпляра, а затем запускает 5 новых.

Как мой тест, если вы масштабируете свой веб-сайт, он не будет убивать одиночный экземпляр. Я создал шаблон Webjob и написал в нем триггер.

Вот раз, когда я масштабируюсь мой веб-приложение:

enter image description here

Вот лог запуска в хранилище Azure ('лазурная-работа-хост-выход'):

enter image description here

Если вы обнаружили, что ваш веб-сайт работает в состоянии «неактивного экземпляра» на панели инструментов Azure webjob. Пожалуйста, не беспокойтесь об этом. Ваш веб-сайт все еще работает. Пожалуйста, взгляните на ответ Дэвида в this thread. Вот фрагмент:

Это на самом деле ошибка в том, что демонстрирует Портал. Портал заканчивает запрос произвольного экземпляра о статусе WebJob, и если он попадает в любой экземпляр, отличный от того, который его фактически запускает, он будет объявлен как неактивный.

+0

Привет, возможно, я ошибся, работа, которая была запущена, я предполагал убить, так как статус на панели инструментов закончился так, как Never Finished, и это произошло в тот же момент, когда я увеличил счет. Я предположил, что это произошло потому, что экземпляр был переработан для перезапуска 5 новых, но, учитывая ваш ответ, мне теперь интересно, может ли панель управления неправильно сообщать о статусе завершения и что работа действительно заканчивается. Мне нужно будет провести больше тестирования, чтобы подтвердить это. – Simon

+0

Hi Jambor, см. Мое обновление в исходном сообщении, показывающее, что работа не работает из-за запроса на масштаб. – Simon

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