问题 Azure停止触发的Web作业


在Azure中,曾经 触发的Web作业 已开始?我们需要做什么 - 阻止它?

背景:

我们的Web作业填充了一个服务总线队列,然后扩展了我们的工作者角色 - 我们的工作者角色正在使用第三方API - 并且正在收到错误。这导致我们的队列变得越来越大 - 并且创建了越来越多的工作者角色。这很贵。


7653
2017-10-29 17:29


起源



答案:


正如Kobynet在上面解释的那样,我们正在使用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"

6
2018-04-07 06:33



大!我们会尝试这个。 - Simcha Khabinsky
@SimchaKhabinsky,为我工作 - Noam Ofek


答案:


正如Kobynet在上面解释的那样,我们正在使用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"

6
2018-04-07 06:33



大!我们会尝试这个。 - Simcha Khabinsky
@SimchaKhabinsky,为我工作 - Noam Ofek


我不确定这是什么时候添加的,但我设法通过Kudu Process Explorer杀死了这些工作。

HTTPS:// [websitename] .scm.azurewebsites.net / ProcessExplorer /

等待进程出现,只需右键单击并终止进程。


4
2017-07-22 13:07





我们发现的最佳选择是使用 KUDU api 获取进程列表,然后终止所需的webjob进程。


3
2018-04-07 06:14



您现在也可以从新门户网站portal.azure.com执行此操作 - Simcha Khabinsky


您可以通过单击托管webjob的应用服务上的“重新启动”按钮来执行此操作。它实际上清除了所有作业,您需要重新部署。

注意:此按钮仅在新门户网站“portal.azure.com”上提供,但不在旧门户网站上提供。

希望这可以帮助。


0
2018-03-30 14:33



我认为重启不会清除webjobs也不会停止当前的webjob执行。 - SuperJMN
重启不会清除任何文件。 - D.J.