Understanding Job Types
Jobs can be either BATCH or PERSISTENT. BATCH Job:- Lifecycle: Runs until completion or timeout; automatically terminates.
- Configuration: Requires a valid
max_timeout_run_msvalue. - Interaction: Non-interactive; operates solely on initial input arguments.
- Billing: Charged only for actual execution time.
- Best For: Rendering, data processing, or any finite task.
- Lifecycle: Runs indefinitely until explicitly stopped by the user.
- Configuration: Requires
max_timeout_run_msto be set tonull. - Interaction: High; supports query-responsive servers and live developer/artist tools.
- Billing: Charged continuously on an hourly basis.
- Best For: SSH access, development environments, or long-running services.
max_timeout_start_ms. This property defines how long the system will wait for the job to initialize before declaring a failure. If a job does not successfully start within this window, it will fail automatically.
When setting the max_timeout_start_msvalue, you must account for image download time. Large container images or custom environment setups require a higher max_timeout_start_ms to prevent the system from timing out and killing the job before it even begins running.
- BATCH Jobs
- PERSISTENT Jobs
BATCH jobs run until completion or timeout. They are strictly non-interactive, “set-and-forget” workflows. They accept initial input parameters at launch, run independently in the background to process data or render assets, and automatically terminate upon completing the task or hitting a predefined time limit
The job automatically stops when:
| Property | Value |
|---|---|
task | BATCH |
max_timeout_run_ms | Required — maximum runtime in milliseconds |
| Billing | Charged for actual execution time |
| Use cases | Rendering, data processing, inference tasks |
- Your container exits
- The timeout is reached