Edit

Share via


Disable-AzBatchComputeNodeScheduling

Disables task scheduling on the specified compute node.

Syntax

Id (Default)

Disable-AzBatchComputeNodeScheduling
    [-PoolId] <String>
    [-Id] <String>
    -BatchContext <BatchAccountContext>
    [-DisableSchedulingOption <DisableComputeNodeSchedulingOption>]
    [-DefaultProfile <IAzureContextContainer>]
    [<CommonParameters>]

InputObject

Disable-AzBatchComputeNodeScheduling
    [[-ComputeNode] <PSComputeNode>]
    -BatchContext <BatchAccountContext>
    [-DisableSchedulingOption <DisableComputeNodeSchedulingOption>]
    [-DefaultProfile <IAzureContextContainer>]
    [<CommonParameters>]

Description

The Disable-AzBatchComputeNodeScheduling cmdlet disables task scheduling on the specified compute node. A compute node is an Azure virtual machine dedicated to a specific application workload. When you disable task scheduling on a compute node you will also have the option of determining what to do about jobs currently in the node's task queue. Disable-AzBatchComputeNodeScheduling lets you do the following:

  • Terminate the tasks and put them back in the job queue. This enables those tasks to be rescheduled on another compute node.
  • Terminate the tasks and remove them from the job queue. Tasks stopped in this manner will not be rescheduled.
  • Wait for all the tasks currently being executed to complete and then disable task scheduling on the compute node.
  • Wait for all the running tasks to complete and all the data retention periods to expire, and then disable task scheduling on the compute node.

Examples

Example 1: Disable task scheduling on a compute node

$Context = Get-AzBatchAccountKey -AccountName "contosobatchaccount"
Disable-AzBatchComputeNodeScheduling -PoolId "myPool" -Id "tvm-1783593343_34-20151117t222514z" -BatchContext $Context

These commands disable task schedule on the compute node tvm-1783593343_34-20151117t222514z. To do this, the first command in the example creates an object reference to the account keys for the batch account contosobatchaccount. This object reference is stored in a variable named $context. The second command then uses this object reference and the Disable-AzBatchComputeNodeScheduling cmdlet to connect to the pool myPool and disable task scheduling on node tvm-1783593343_34-20151117t222514z. Because the DisableComputeNodeSchedulingOptions parameter was not included any tasks currently running on the compute node will be requeued.

Example 2: Disable task scheduling on all compute nodes in a pool

$Context = Get-AzBatchAccountKey -AccountName "contosobatchaccount"
Get-AzBatchComputeNode -PoolId "Pool06"  -BatchContext $Context | Disable-AzBatchComputeNodeScheduling -BatchContext $Context

These commands disable task scheduling on all the computer nodes in the batch pool Pool06. To perform this task, the first command in the example creates an object reference to the account keys for the batch account contosobatchaccount. This object reference is stored in a variable named $context. The second command in the example then uses this object reference and Get-AzBatchComputeNode to return a collection of all the compute nodes found in Pool06. That collection is then piped to then Disable-AzBatchComputeNodeScheduling cmdlet to disable task scheduling on each compute node in the collection. Because the DisableComputeNodeSchedulingOptions parameter was not included any tasks currently running on the compute nodes will be requeued.

Parameters

-BatchContext

Specifies the BatchAccountContext instance that this cmdlet uses to interact with the Batch service. If you use the Get-AzBatchAccount cmdlet to get your BatchAccountContext, then Microsoft Entra authentication will be used when interacting with the Batch service. To use shared key authentication instead, use the Get-AzBatchAccountKey cmdlet to get a BatchAccountContext object with its access keys populated. When using shared key authentication, the primary access key is used by default. To change the key to use, set the BatchAccountContext.KeyInUse property.

Parameter properties

Type:BatchAccountContext
Default value:None
Supports wildcards:False
DontShow:False

Parameter sets

(All)
Position:Named
Mandatory:True
Value from pipeline:True
Value from pipeline by property name:False
Value from remaining arguments:False

-ComputeNode

Specifies an object reference to the compute node where task scheduling is disabled. This object reference is created by using the Get-AzBatchComputeNode cmdlet and storing the returned compute node object in a variable.

Parameter properties

Type:PSComputeNode
Default value:None
Supports wildcards:False
DontShow:False

Parameter sets

InputObject
Position:0
Mandatory:False
Value from pipeline:True
Value from pipeline by property name:False
Value from remaining arguments:False

-DefaultProfile

The credentials, account, tenant, and subscription used for communication with azure.

Parameter properties

Type:IAzureContextContainer
Default value:None
Supports wildcards:False
DontShow:False
Aliases:AzContext, AzureRmContext, AzureCredential

Parameter sets

(All)
Position:Named
Mandatory:False
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False

-DisableSchedulingOption

Specifies how this cmdlet deals with any tasks currently running on the computer node where scheduling is being disabled. The acceptable values for this parameter are:

  • Requeue. Tasks are stopped immediately and returned to the job queue. This enables the tasks to be rescheduled on another compute node. This is the default value.
  • Terminate. Tasks are stopped immediately and removed from the job queue. These tasks will not be rescheduled.
  • TaskCompletion. Currently running tasks will be able to complete before task scheduling is disabled on the compute node. No new tasks will be scheduled on this node.
  • RetainedData. Currently running tasks will be able to complete and data retention periods will be able to expire before task scheduling is disabled on the compute node. No new tasks will be scheduled on this node.

Parameter properties

Type:

Nullable<T>[DisableComputeNodeSchedulingOption]

Default value:None
Accepted values:Requeue, Terminate, TaskCompletion
Supports wildcards:False
DontShow:False

Parameter sets

(All)
Position:Named
Mandatory:False
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False

-Id

Specifies the ID of the compute node where task scheduling is disabled.

Parameter properties

Type:String
Default value:None
Supports wildcards:False
DontShow:False

Parameter sets

Id
Position:1
Mandatory:True
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False

-PoolId

Specifies the ID of the batch pool that contains the compute node where task scheduling is disabled. If you use the PoolId parameter, do not use the ComputeNode parameter in that same command.

Parameter properties

Type:String
Default value:None
Supports wildcards:False
DontShow:False

Parameter sets

Id
Position:0
Mandatory:True
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False

CommonParameters

This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction, and -WarningVariable. For more information, see about_CommonParameters.

Inputs

PSComputeNode

BatchAccountContext

Outputs

Void