Azure停止触发的Web作业

lnlaulya  于 2022-11-17  发布在  其他
关注(0)|答案(5)|浏览(153)

在Azure中,一旦触发的Web作业开始?我们需要做什么-停止它?
背景说明:
我们的Web工作会填入Service Bus队列,然后向外延展我们的背景工作角色(我们的背景工作角色使用协力厂商API),并发生错误。这会导致我们的队列越来越大,并建立越来越多的背景工作角色。这是非常昂贵的。

uajslkp6

uajslkp61#

我不知道这是什么时候添加的,但我设法通过Kudu Process Explorer杀死了这些作业。
等待该进程出现,然后右键单击并终止该进程。

pgky5nke

pgky5nke2#

正如Kobynet上面解释的那样,我们使用kuduapi,并且我们有下面的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"
i1icjdpr

i1icjdpr3#

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

fnvucqvd

fnvucqvd4#

您可以通过单击托管Web作业的应用程序服务上的“重新启动”按钮来完成。它实际上会清除所有作业,您需要重新部署。
注意:此按钮仅在新门户网站“www.example.com“上可用portal.azure.com,而在旧门户网站上不可用。
希望这对你有帮助。

rlcwz9us

rlcwz9us5#

转到Azure门户-〉应用服务-〉进程资源管理器-〉展开示例-〉
查找CMD进程并展开以查看哪个进程用于触发的Web作业
然后单击图标选择流程,该图标将重定向到您可以停止的页面
单击停止按钮。

相关问题