Guide 11 · disposable compute
Data jobs & ETL without a job cluster
Nightly transforms, one-off backfills, agent-triggered data pulls: boot a sandbox sized for the job, run it, download the output, destroy it. No queue, no cluster, no idle workers.
1
Size the box to the job
sb = Sandbox.create(template="python-3.11", vcpu=8, memory_mb=16384, storage_mb=51200, # big for an hour timeout=7200)
2
Run the transform
sb.upload("./etl", "/job") sb.run("pip install -r /job/requirements.txt").check() sb.run("python /job/transform.py --input s3://… --out /out", timeout=6000).check() sb.download("/out", "./warehouse-drop") sb.kill()
3
Trigger it however you like
Cron, a webhook, or an agent decision — it's one API call. For high-frequency small jobs, wrap the transform as a function instead.
an 8 vCPU · 16 GB hour ≈ $0.66 — only while it runs ·
cost calculator