Azure Остановить запущенную работу в Интернете
В Azure, как только началось запущенное веб-приложение? Что нам нужно сделать - чтобы остановить его?
Фон:
Наш веб-ресурс заполняет очередь служебной шины, а затем масштабирует наши рабочие роли - наши рабочие роли используют сторонний API - и возникают ошибки. Это приводит к тому, что наша очередь становится все больше и больше - и создает все больше рабочих ролей. Это дорого.
Ответы
Ответ 1
как объяснил Кобынет, мы используем kudu api, и у нас есть следующий фрагмент powershell для остановки процесса
$username = $website.PublishingUsername
$password = $website.PublishingPassword
$base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(("{0}:{1}" -f $username,$password)))
$ps = Invoke-RestMethod -Uri "$apiBaseUrl/processes" -Headers @{Authorization=("Basic {0}" -f $base64AuthInfo)} -Method GET
$id = $($ps | where {$_.name -eq $jobname} ).id
Invoke-RestMethod -Uri "$apiBaseUrl/processes/$id" -Headers @{Authorization=("Basic {0}" -f $base64AuthInfo)} -Method DELETE
write-host "killed process $id"
Ответ 2
Лучший способ, который мы нашли, - использовать KUDU api для получения списка процессов, а затем убить желаемый процесс веб-дизайна.
Ответ 3
Я не уверен, когда это было добавлено, но мне удалось убить задания через проводник процессов Kudu.
https://[websitename].scm.azurewebsites.net/ProcessExplorer/
Дождитесь появления процесса и просто щелкните правой кнопкой мыши и выполните процесс kill.
Ответ 4
Вы можете сделать, нажав кнопку "Перезагрузка" в службе приложений, на которой размещен веб-сайт. он фактически очищает все задания, и вам нужно повторно развернуть.
Примечание. Эта кнопка доступна только на новом портале "portal.azure.com", но не в старой.
надеюсь, что это поможет.