Jobs
Note
This section shows key concepts about jobs in Brender Studio. If you want to know how to monitor jobs in Brender Studio, go to the Your first render (Monitor Rendering Progress) section.
What is AWS Batch?
AWS Batch is a cloud-based service that enables users to run batch computing workloads on the AWS cloud. It dynamically provisions the optimal quantity and type of compute resources (such as CPU or memory-optimized instances) based on the volume and specific resource requirements of the batch jobs submitted.
Learn more about AWS Batch
To learn more about AWS Batch, visit the official AWS Batch website.
Job Workflow in Brender Studio
In Brender Studio, AWS Batch is primarily used to handle rendering projects. Each render job triggers three sequential jobs:
- Copying Project Files: The first job copies the Blender project files from Amazon S3 to the Elastic File System (EFS).
- Rendering: The second job renders the Blender scene using the files stored in EFS.
- Uploading and Notification: The third job uploads the rendered images from EFS back to Amazon S3 and sends an email notification via Amazon SES to inform the user that the render is completed.
What is a Job?
A job is a unit of work that is executed by a compute resource. In Brender Studio, a job is a task that is executed by AWS Batch to render a Blender scene.
Job Queues
A job queue holds submitted jobs until they are ready to be run. It acts as a waiting line for tasks to be processed. Jobs in the queue are scheduled to run on the compute environment based on priority and resource availability.
Job Definitions
A job definition specifies how a job should be run, including what compute resources are required and the Docker image to use. In Brender Studio, job definitions are associated with an ECR (Elastic Container Registry) image containing different versions of Blender. This allows for flexible and consistent execution of rendering jobs.
Info
For more information about the Blender Repository (ECR), check the Blender Repository (ECR) or the ECR documentation (AWS).
Compute Environments
A compute environment is where jobs are run. It defines the types of instances (machines) that will be used and whether they are on-demand or spot instances. Compute environments can be customized to optimize cost and performance based on the specific needs of the render jobs.