首页 > 解决方案 > 如何从 VSTS PowerShell 脚本禁用或停止和启用 Azure 中的调度程序作业?

问题描述

PFA 6 PFA 2 PFA 3 PFA PFA 4 PFA 5我在 Azure 中运行了一些触发的作业。我已经在 Azure 中为这些作业创建了调度程序作业,这样每当我禁用它时,它就会停止运行触发的作业而不是杀死。但我想使用插件或 Powershell 脚本从 VSTS 禁用这些调度程序作业。我可以使用 Powershell 脚本停止和启动 Continuous webjobs,但触发了作业/调度程序作业我不确定如何禁用 VSTS 定义中的 Powershell/Plugins/Tasks。

标签: azureazure-devopsazure-webjobs-triggered

解决方案


您可以添加 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."
}

推荐阅读