"AWSBatch" (Batch Computation Provider)
Details
Environment Properties
"IOBucket" | (required) | name of the Amazon S3 bucket in which to store job input and output data | |
"JobDefinition" | (required) | ARN for the AWS Batch job definition to use for submitted jobs | |
"JobQueue" | (required) | ARN for the AWS Batch job queue to which jobs are submitted | |
"ServiceObject" | Automatic | ServiceObject for the "AWS" service |
Job Settings
"GPUCount" | Inherited | integer number of GPUs » | |
"Memory" | Automatic | "InformationUnit" quantity or integer number of mebibytes » | |
"VCPUCount" | Inherited | integer number of vCPUs » |



Job Statuses
"Submitted" | the submitted job has not yet been evaluated by the AWS Batch scheduler | |
"Pending" | the job is waiting for dependencies to be satisfied | |
"Runnable" | the job is waiting for compute resources to be available | |
"Starting" | the job has been scheduled to an instance and its container image is being downloaded | |
"Running" | the job's container has started | |
"Succeeded" | the job's execution has succeeded and its output has been uploaded | |
"Failed" | the job's execution has failed |
Job Properties
"JobExitCode" | exit code returned by the kernel within the job container | |
"JobLog" | console logs from the job container | |
"JobStatusReason" | string describing the reason for which the job is in its current state | |
"ProviderJobID" | AWS-provided unique identifier for the job |
"ChildJobExitCodes" | "JobExitCode" property of each array child job | |
"ChildJobStatusReasons" | "JobStatusReason" property of each array child job | |
"JobStatusReason" | string describing the reason for which the array job is in its current state | |
"ProviderJobID" | AWS-provided unique identifier for the array job |
"JobExitCode" | exit code returned by the kernel within the job container | |
"JobLog" | console logs from the child job container | |
"JobStatusReason" | string describing the reason for which the child job is in its current state | |
"ProviderJobID" | AWS-provided unique identifier for the child job |
Examples
open all close allBasic Examples (2)
Create an "AWSBatch" RemoteBatchSubmissionEnvironment object, after configuring the "AWSBatch" batch computation provider as described in the Set Up the AWS Batch Computation Provider workflow:
Submit a job using the created environment:
Query the job’s status again, after it has completed:
Create an environment object using an explicitly specified "AWS" service object:
Job Settings (4)
"GPUCount" (1)
"Memory" (2)
Job Properties (2)
"Single" Jobs (1)
Submit a batch job to AWS Batch using RemoteBatchSubmit:
Query the job’s status along with the reason why the job transitioned to that state:
"Array" and "ArrayChild" Jobs (1)
Submit an array job to AWS Batch using RemoteBatchMapSubmit:
Query the status of each child job along with the reason why each transitioned to its current state:
Obtain a RemoteBatchJobObject expression representing the first child job:
Query the child job’s status along with the reason why the child job transitioned to that state:
Properties & Relations (1)
If a job was terminated with RemoteBatchJobAbort, the value of the "JobStatusReason" property will indicate that the termination request originated from the Wolfram Language:
Possible Issues (2)
AWS Batch terminates jobs that exceed their memory limit:
The memory limit for a job can be adjusted with the "Memory" job setting:
AWS Batch deletes a job’s metadata 24 hours after the job reaches a completed state ("Succeeded" or "Failed"). This will cause metadata queries to return a missing value:
The job’s output data will still be accessible until it is either manually deleted or automatically expired by the lifecycle policy on the submission environment's I/O bucket, if such a policy is configured:
See Also
RemoteBatchSubmit ▪ RemoteBatchMapSubmit ▪ RemoteBatchSubmissionEnvironment ▪ $DefaultRemoteBatchSubmissionEnvironment
Service Connections: AWS
Related Workflows
- Set Up the AWS Batch Computation Provider
Related Links
History
Introduced in 2020 (12.2) | Updated in 2021 (13.0)