如何通过VSTS PowerShell脚本在Azure中禁用或停止并启用计划程序作业?

时间:2018-06-20 12:16:17

标签: azure azure-devops azure-webjobs-triggered

PFA 6 PFA 2 PFA 3 PFA PFA 4 PFA 5我在Azure中运行了一些触发的作业。我已经为Azure中的那些作业创建了计划程序作业,以便每当我禁用它时,它将停止运行已触发的作业,而不是杀死它们。但是我想使用插件或Powershell脚本从VSTS禁用那些计划程序作业。我可以使用Powershell脚本停止和启动连续Web作业,但是触发了作业/调度程序作业,我不确定如何从VSTS定义中禁用Powershell /插件/任务。

2 个答案:

答案 0 :(得分:1)

您可以添加Azure Powershell脚本任务,并在下面添加脚本以启用/禁用计划程序作业:

将作业设置为“已禁用”:

Set-AzureRmSchedulerHttpJob -ResourceGroupName ABC -JobCollectionName ABC -JobName ABC -JobState Disabled

将作业设置为“已启用”:

Set-AzureRmSchedulerHttpJob -ResourceGroupName ABC -JobCollectionName ABC -JobName ABC -JobState Enabled

如果要启用/禁用JobCollection,可以使用Enable-AzureRmSchedulerJobCollectionDisable-AzureRmSchedulerJobCollection命令:

Enable-AzureRmSchedulerJobCollection -ResourceGroupName ABC -JobCollectionName ABC

使用以下脚本:

$JobC = Get-AzureRmSchedulerJobCollection -ResourceGroupName jobcollection -JobCollectionName jobcollection

If ($JobC.State -eq "Enabled")
{
    Write-Host "JobCollection is enabled, disabling it..."
    Disable-AzureRmSchedulerJobCollection -ResourceGroupName jobcollection -JobCollectionName jobcollection
    Write-Host "JobCollection is disabled now."
}
Else
{
    Write-Host "JobCollection has already been disabled."
}

答案 1 :(得分:0)

恐怕您不能禁用调度程序作业,您可以full stopping a web app