StartTask Class


A task which is run when a compute node joins a pool in the Azure Batch service, or when the compute node is rebooted or reimaged.

public class StartTask
type StartTask = class
Public Class StartTask


Batch will retry tasks when a recovery operation is triggered on a compute node. Examples of recovery operations include (but are not limited to) when an unhealthy compute node is rebooted or a compute node disappeared due to host failure. Retries due to recovery operations are independent of and are not counted against the MaxTaskRetryCount. Even if the MaxTaskRetryCount is 0, an internal retry due to a recovery operation may occur. Because of this, all tasks should be idempotent. This means tasks need to tolerate being interrupted and restarted without causing any corruption or duplicate data.

The best practice for long running tasks is to use some form of checkpointing. Special care should be taken to avoid start tasks which create breakaway process or install/launch services from the start task working directory, as this will block Batch from being able to re-run the start task.



Initializes a new instance of the StartTask class.


Initializes a new instance of the StartTask class.



Gets or sets the command line of the task.


Gets or sets the settings for the container under which the task runs.


Gets or sets a set of environment settings for the start task.


Gets or sets the maximum number of retries for the task.


Gets or sets a list of files that the Batch service will download to the compute node before running the command line.


Gets or sets the user identity under which the task runs.


Gets or sets a value indicating whether the Batch service should wait for the start task to complete before scheduling any tasks on the compute node.

Applies to