Batch v1 API - Class TaskGroup (2.9.0)

public sealed class TaskGroup : IMessage<TaskGroup>, IEquatable<TaskGroup>, IDeepCloneable<TaskGroup>, IBufferMessage, IMessage

Reference documentation and code samples for the Batch v1 API class TaskGroup.

A TaskGroup defines one or more Tasks that all share the same TaskSpec.

Inheritance

object > TaskGroup

Namespace

Google.Cloud.Batch.V1

Assembly

Google.Cloud.Batch.V1.dll

Constructors

TaskGroup()

public TaskGroup()

TaskGroup(TaskGroup)

public TaskGroup(TaskGroup other)
Parameter
NameDescription
otherTaskGroup

Properties

Name

public string Name { get; set; }

Output only. TaskGroup name. The system generates this field based on parent Job name. For example: "projects/123456/locations/us-west1/jobs/job01/taskGroups/group01".

Property Value
TypeDescription
string

Parallelism

public long Parallelism { get; set; }

Max number of tasks that can run in parallel. Default to min(task_count, parallel tasks per job limit). See: Job Limits. Field parallelism must be 1 if the scheduling_policy is IN_ORDER.

Property Value
TypeDescription
long

PermissiveSsh

public bool PermissiveSsh { get; set; }

When true, Batch will configure SSH to allow passwordless login between VMs running the Batch tasks in the same TaskGroup.

Property Value
TypeDescription
bool

RequireHostsFile

public bool RequireHostsFile { get; set; }

When true, Batch will populate a file with a list of all VMs assigned to the TaskGroup and set the BATCH_HOSTS_FILE environment variable to the path of that file. Defaults to false. The host file supports up to 1000 VMs.

Property Value
TypeDescription
bool

RunAsNonRoot

public bool RunAsNonRoot { get; set; }

Optional. If not set or set to false, Batch uses the root user to execute runnables. If set to true, Batch runs the runnables using a non-root user. Currently, the non-root user Batch used is generated by OS Login. For more information, see About OS Login.

Property Value
TypeDescription
bool

SchedulingPolicy

public TaskGroup.Types.SchedulingPolicy SchedulingPolicy { get; set; }

Scheduling policy for Tasks in the TaskGroup. The default value is AS_SOON_AS_POSSIBLE.

Property Value
TypeDescription
TaskGroupTypesSchedulingPolicy

TaskCount

public long TaskCount { get; set; }

Number of Tasks in the TaskGroup. Default is 1.

Property Value
TypeDescription
long

TaskCountPerNode

public long TaskCountPerNode { get; set; }

Max number of tasks that can be run on a VM at the same time. If not specified, the system will decide a value based on available compute resources on a VM and task requirements.

Property Value
TypeDescription
long

TaskEnvironments

public RepeatedField<Environment> TaskEnvironments { get; }

An array of environment variable mappings, which are passed to Tasks with matching indices. If task_environments is used then task_count should not be specified in the request (and will be ignored). Task count will be the length of task_environments.

Tasks get a BATCH_TASK_INDEX and BATCH_TASK_COUNT environment variable, in addition to any environment variables set in task_environments, specifying the number of Tasks in the Task's parent TaskGroup, and the specific Task's index in the TaskGroup (0 through BATCH_TASK_COUNT - 1).

Property Value
TypeDescription
RepeatedFieldEnvironment

TaskGroupName

public TaskGroupName TaskGroupName { get; set; }

TaskGroupName-typed view over the Name resource name property.

Property Value
TypeDescription
TaskGroupName

TaskSpec

public TaskSpec TaskSpec { get; set; }

Required. Tasks in the group share the same task spec.

Property Value
TypeDescription
TaskSpec