Skip to content

Commit 6a54272

Browse files
authored
updated docs for Studio checkpoints being enabled (#1427)
1 parent 2e2e604 commit 6a54272

File tree

1 file changed

+15
-7
lines changed

1 file changed

+15
-7
lines changed

docs/guide/checkpoints.md

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,12 @@
22

33
Checkpoints allow DataChain to automatically skip re-creating datasets that were successfully saved in previous script runs. When a script fails or is interrupted, you can re-run it and DataChain will resume from where it left off, reusing datasets that were already created.
44

5-
**Note:** Checkpoints are currently available only for local script runs. Support for Studio is planned for future releases.
5+
Checkpoints are available for both local script runs and Studio executions.
66

77
## How Checkpoints Work
88

9+
### Local Script Runs
10+
911
When you run a Python script locally (e.g., `python my_script.py`), DataChain automatically:
1012

1113
1. **Creates a job** for the script execution, using the script's absolute path as the job name
@@ -16,6 +18,18 @@ When you run a Python script locally (e.g., `python my_script.py`), DataChain au
1618

1719
This means that if your script creates multiple datasets and fails partway through, the next run will skip recreating the datasets that were already successfully saved.
1820

21+
### Studio Runs
22+
23+
When running jobs on Studio, the checkpoint workflow is managed through the UI:
24+
25+
1. **Job execution** is triggered using the Run button in the Studio interface
26+
2. **Checkpoint control** is explicit - you choose between:
27+
- **Run from scratch**: Ignores any existing checkpoints and recreates all datasets
28+
- **Continue from last checkpoint**: Resumes from the last successful checkpoint, skipping already-completed stages
29+
3. **Parent-child job linking** is handled automatically by the system - no need for script path matching or job name conventions
30+
4. **Checkpoint behavior** during execution is the same as local runs: datasets are saved at each `.save()` call and can be reused on retry
31+
32+
1933
## Example
2034

2135
Consider this script that processes data in multiple stages:
@@ -66,7 +80,6 @@ Checkpoints are **not** used when:
6680
- Running code interactively (Python REPL, Jupyter notebooks)
6781
- Running code as a module (e.g., `python -m mymodule`)
6882
- The `DATACHAIN_CHECKPOINTS_RESET` environment variable is set (see below)
69-
- Running on Studio (checkpoints support planned for future releases)
7083

7184
## Resetting Checkpoints
7285

@@ -176,17 +189,12 @@ for ds in dc.datasets():
176189

177190
## Limitations
178191

179-
- **Local only:** Checkpoints currently work only for local script runs. Studio support is planned.
180192
- **Script-based:** Code must be run as a script (not interactively or as a module).
181193
- **Hash-based matching:** Any change to the chain will create a different hash, preventing checkpoint reuse.
182194
- **Same script path:** The script must be run from the same absolute path for parent job linking to work.
183195

184196
## Future Plans
185197

186-
### Studio Support
187-
188-
Support for checkpoints on Studio is planned for future releases, which will enable checkpoint functionality for collaborative workflows and cloud-based data processing.
189-
190198
### UDF-Level Checkpoints
191199

192200
Currently, checkpoints are created only when datasets are saved using `.save()`. This means that if a script fails during a long-running UDF operation (like `.map()`, `.gen()`, or `.agg()`), the entire UDF computation must be rerun on the next execution.

0 commit comments

Comments
 (0)