我想在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文件以将参数传递给上面的脚本。运行上面的脚本后如何验证。我需要该脚本。
答案 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