Skip to contents

AWS Batch launcher R6 class

IAM policies

In order for the AWS Batch crew plugin to function properly, your IAM policy needs permission to perform the SubmitJob and TerminateJob AWS Batch API calls. For more information on AWS policies and permissions, please visit https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html.

AWS arguments

The AWS Batch controller and launcher accept many arguments which start with "aws_batch_". These arguments are AWS-Batch-specific parameters forwarded directly to the submit_job() method for the Batch client in the paws.compute R package

For a full description of each argument, including its meaning and format, please visit https://www.paws-r-sdk.com/docs/batch_submit_job/. The upstream API documentation is at https://docs.aws.amazon.com/batch/latest/APIReference/API_SubmitJob.html and the analogous CLI documentation is at https://docs.aws.amazon.com/cli/latest/reference/batch/submit-job.html.

The actual argument names may vary slightly, depending on which : for example, the aws_batch_job_definition argument of the crew AWS Batch launcher/controller corresponds to the jobDefinition argument of the web API and paws.compute::batch()$submit_job(), and both correspond to the --job-definition argument of the CLI.

Verbosity

Control verbosity with the paws.log_level global option in R. Set to 0 for minimum verbosity and 3 for maximum verbosity.

See also

Super class

crew::crew_class_launcher -> crew_class_launcher_aws_batch

Active bindings

aws_batch_config

See crew_launcher_aws_batch().

aws_batch_credentials

See crew_launcher_aws_batch().

aws_batch_endpoint

See crew_launcher_aws_batch().

aws_batch_region

See crew_launcher_aws_batch().

aws_batch_job_definition

See crew_launcher_aws_batch().

aws_batch_job_queue

See crew_launcher_aws_batch().

aws_batch_share_identifier

See crew_launcher_aws_batch().

aws_batch_scheduling_priority_override

See crew_launcher_aws_batch().

aws_batch_parameters

See crew_launcher_aws_batch().

aws_batch_container_overrides

See crew_launcher_aws_batch().

aws_batch_node_overrides

See crew_launcher_aws_batch().

aws_batch_retry_strategy

See crew_launcher_aws_batch().

aws_batch_propagate_tags

See crew_launcher_aws_batch().

aws_batch_timeout

See crew_launcher_aws_batch().

aws_batch_tags

See crew_launcher_aws_batch().

aws_batch_eks_properties_override

See crew_launcher_aws_batch().

Methods

Inherited methods


Method new()

Abstract launcher constructor.

Usage

crew_class_launcher_aws_batch$new(
  name = NULL,
  seconds_interval = NULL,
  seconds_timeout = NULL,
  seconds_launch = NULL,
  seconds_idle = NULL,
  seconds_wall = NULL,
  tasks_max = NULL,
  tasks_timers = NULL,
  reset_globals = NULL,
  reset_packages = NULL,
  reset_options = NULL,
  garbage_collection = NULL,
  launch_max = NULL,
  tls = NULL,
  processes = NULL,
  aws_batch_config = NULL,
  aws_batch_credentials = NULL,
  aws_batch_endpoint = NULL,
  aws_batch_region = NULL,
  aws_batch_job_definition = NULL,
  aws_batch_job_queue = NULL,
  aws_batch_share_identifier = NULL,
  aws_batch_scheduling_priority_override = NULL,
  aws_batch_parameters = NULL,
  aws_batch_container_overrides = NULL,
  aws_batch_node_overrides = NULL,
  aws_batch_retry_strategy = NULL,
  aws_batch_propagate_tags = NULL,
  aws_batch_timeout = NULL,
  aws_batch_tags = NULL,
  aws_batch_eks_properties_override = NULL
)

Arguments

name

See crew_launcher_aws_batch().

seconds_interval

See crew_launcher_aws_batch().

seconds_timeout

See crew_launcher_aws_batch().

seconds_launch

See crew_launcher_aws_batch().

seconds_idle

See crew_launcher_aws_batch().

seconds_wall

See crew_launcher_aws_batch().

tasks_max

See crew_launcher_aws_batch().

tasks_timers

See crew_launcher_aws_batch().

reset_globals

See crew_launcher_aws_batch().

reset_packages

See crew_launcher_aws_batch().

reset_options

See crew_launcher_aws_batch().

garbage_collection

See crew_launcher_aws_batch().

launch_max

See crew_launcher_aws_batch().

tls

See crew_launcher_aws_batch().

processes

See crew_launcher_aws_batch().

aws_batch_config

See crew_launcher_aws_batch().

aws_batch_credentials

See crew_launcher_aws_batch().

aws_batch_endpoint

See crew_launcher_aws_batch().

aws_batch_region

See crew_launcher_aws_batch().

aws_batch_job_definition

See crew_launcher_aws_batch().

aws_batch_job_queue

See crew_launcher_aws_batch().

aws_batch_share_identifier

See crew_launcher_aws_batch().

aws_batch_scheduling_priority_override

See crew_launcher_aws_batch().

aws_batch_parameters

See crew_launcher_aws_batch().

aws_batch_container_overrides

See crew_launcher_aws_batch().

aws_batch_node_overrides

See crew_launcher_aws_batch().

aws_batch_retry_strategy

See crew_launcher_aws_batch().

aws_batch_propagate_tags

See crew_launcher_aws_batch().

aws_batch_timeout

See crew_launcher_aws_batch().

aws_batch_tags

See crew_launcher_aws_batch().

aws_batch_eks_properties_override

See crew_launcher_aws_batch().

Returns

An abstract launcher object.


Method validate()

Validate the launcher.

Usage

crew_class_launcher_aws_batch$validate()

Returns

NULL (invisibly). Throws an error if a field is invalid.


Method launch_worker()

Launch a local process worker which will dial into a socket.

Usage

crew_class_launcher_aws_batch$launch_worker(
  call,
  name,
  launcher,
  worker,
  instance
)

Arguments

call

Character of length 1, a namespaced call to crew::crew_worker() which will run in the worker and accept tasks.

name

Character of length 1, an informative worker name.

launcher

Character of length 1, name of the launcher.

worker

Positive integer of length 1, index of the worker. This worker index remains the same even when the current instance of the worker exits and a new instance launches. It is always between 1 and the maximum number of concurrent workers.

instance

Character of length 1 to uniquely identify the current instance of the worker.

Details

The call argument is R code that will run to initiate the worker.

Returns

A handle object to allow the termination of the worker later on.


Method terminate_worker()

Terminate a local process worker.

Usage

crew_class_launcher_aws_batch$terminate_worker(handle)

Arguments

handle

A process handle object previously returned by launch_worker().

Returns

NULL (invisibly).