通过PowerShell验证webjobs是否运行

时间:2017-11-01 07:43:56

标签: azure azure-devops azure-powershell

我想在webjobs启动后检查所有连续和触发的webjobs是否正在运行。请帮助我。通过powershell脚本如何验证。

目前我正在使用app service deploy插件通过VSTS将webapp部署到Azure应用服务,之后我使用powershell脚本启动webjobs。因此,在启动webjobs之后,我需要交叉检查webjobs是否(连续和触发) )是否正确启动。这是我的实际问题。请教我如何编写脚本来验证webjobs的运行与否。

以下代码用于在webapp部署后启动Web作业。

[object]$paramObj=Get-Content "d:\a\r1\a\WebJobs\drop\Parameter.json" |ConvertFrom-Json 
    $userName =$paramObj.userName 
    $password =$paramObj.password
    $webAppName =$paramObj.webAppName
    $resourceGroup=$paramObj.resourceGroup
    [object[]]$webJobs=$paramObj.webJobs
    foreach($wj in $webjobs){
     if($wj.typeName -eq "continuous")
     {
Invoke-AzureRmResourceAction -ResourceGroupName $resourceGroup -ResourceType Microsoft.Web/sites/ContinuousWebJobs -ResourceName "$webAppName/$($wj.name)" -Action start -ApiVersion 2015-08-01 -Force
      Write-Host "continuous"
     Write-Host $wj.name
     }
     else{
     Invoke-AzureRmResourceAction -ResourceGroupName $resourceGroup -ResourceType Microsoft.Web/sites/TriggeredWebJobs -ResourceName "$webAppName/$($wj.name)" -Action run -ApiVersion 2015-08-01 -force
     Write-Host "triggered"
     Write-Host $wj.name
     }
     }

我正在传递parameter.json文件以将参数传递给上面的脚本。运行上面的脚本后如何验证。我需要该脚本。

1 个答案:

答案 0 :(得分:0)

您可以使用Get-AzureRmResource获取Web作业状态。您可以尝试以下脚本。

$ResourceGroupName="****"
$AppService="****"
$Apiversion="2016-08-01"
$continuejob=Get-AzureRmResource -ResourceGroupName $ResourceGroupName -ResourceName $AppService -ResourceType Microsoft.web/sites/ContinuousWebJobs -ApiVersion $Apiversion 
$continuejob.Properties.status

$triggerjob=Get-AzureRmResource -ResourceGroupName $ResourceGroupName -ResourceName $AppService -ResourceType Microsoft.web/sites/TriggeredWebJobs -ApiVersion $Apiversion 
$triggerjob.Properties.latest_run