Я работаю ролью в роли A7 Azure Worker. Роль - это ASP Webapi.Azure Worker with webapi Роль Неожиданный Перезапуск
Когда роль запущена, я могу отправить ей команду (через веб-интерфейс), которая запускает процесс агрегации данных, который занимает до 8 часов.
В это время создается большой граф объектов.
Это сработало для месяцев без проблем.
Теперь иногда кажется, что роль или api перезапускается в середине создания.
Один раз я имел возможность наблюдать его в лазурном портале управления, и это выглядело так:
Но ни restartes не в protocolls.
Где находится ваша логика агрегации данных? На уровне веб-API или в отдельном процессе? И вы сами являетесь владельцем WebAPI в своей рабочей роли или используете IIS? Я спрашиваю, потому что IIS не подходит для 8-часового интенсивного использования памяти. – JoshL
Мы создали рабочую роль с шаблоном проекта vs по умолчанию, не уверенным, что эта конфигурация сделана по умолчанию. –
Является ли ваш веб-API запущенным в роли * worker * или * web * с IIS? (https://azure.microsoft.com/en-us/documentation/articles/fundamentals-application-models/#tellmecs) Если это настоящая рабочая роль, тогда это хороший выбор для выполнения 8-часовой задачи, но вы бы необходимо тщательно отделить уровень веб-API от долговременной логики (как правило, используя отдельную роль + очереди). Если это веб-роль, то снова это не место для запуска 8-часовой рабочей нагрузки. В общем, я думаю, вам необходимо формально отделить уровень веб-API от долговременной логики. Они должны быть в разных ролях. – JoshL