You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: content/develop/ai/featureform/define-and-deploy-features.md
+19-3Lines changed: 19 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -111,18 +111,32 @@ Use this before large changes or whenever the file might be incomplete relative
111
111
112
112
### Standard apply
113
113
114
-
Apply the file:
114
+
Apply the file and wait for it to finish:
115
115
116
116
```bash
117
117
ff apply \
118
118
--workspace <workspace-id> \
119
-
--file examples/featureform/docs/resources.py
119
+
--file examples/featureform/docs/resources.py \
120
+
--wait \
121
+
--wait-for finished
122
+
```
123
+
124
+
Without `--wait`, `ff apply` returns as soon as the server accepts the request and runs the job asynchronously. `--wait` blocks until the job reaches a target state: `--wait-for finished` waits for terminal success; `--wait-for running` returns as soon as the job is actively running.
125
+
126
+
If you skip `--wait`, the response includes a job ID. Check the job's status and per-task progress with:
127
+
128
+
```bash
129
+
ff scheduler job get <job-id>
120
130
```
121
131
122
132
### Apply modes
123
133
124
134
-**Default apply** replaces the workspace's current resource graph with the file.
125
-
-**`--merge`** is safer for intentionally partial definition sets; resources omitted from the file aren't treated as deletions.
135
+
-**`--merge`** applies a partial definition file without treating omitted resources as deletions.
136
+
-**`--update`** is an advanced scheduler-backed mode that re-runs supported resources' normal update or incremental path, even when the graph definition is unchanged.
137
+
-**`--full-rematerialize`** is an advanced scheduler-backed mode that forces full-refresh behavior on supported materialized resources.
138
+
139
+
Use only one of `--merge`, `--update`, or `--full-rematerialize` at a time. Support for `--update` and `--full-rematerialize` is resource-family dependent — run `--plan` first to inspect the planned job, and pair them with `--wait` to see the outcome.
126
140
127
141
## Verify the apply
128
142
@@ -144,3 +158,5 @@ Common reasons:
144
158
-**Secret can't be resolved.** A provider config uses a reference such as `env:PG_PASSWORD`, but the Feature Form server's environment doesn't expose that variable. Check the secret provider with `ff secret-provider get env --workspace <workspace-id>`.
145
159
-**No resources to apply.** The entrypoint produced no resources. Make sure your file exports a `resources = [...]` list, or that auto-registration finds the resources you declared.
146
160
-**Validation error.** The CLI prints the specific resource and field that failed; fix the file and re-run with `--plan`.
161
+
162
+
For more detail, re-run with `--verbose` to enable debug logging to stderr. For most failures, though, the apply job itself surfaces clearer errors than the debug log — let `--wait` finish, or run `ff scheduler job get <job-id>`, before reaching for `--verbose`.
0 commit comments