Skip to content
20 changes: 20 additions & 0 deletions docs/reference/feature-servers/python-feature-server.md
Original file line number Diff line number Diff line change
Expand Up @@ -199,6 +199,26 @@ requests.post(
"http://localhost:6566/push",
data=json.dumps(push_data))
```
#### Offline write batching for `/push`

The Python feature server supports configurable batching for the **offline**
portion of writes executed via the `/push` endpoint.

Only the offline part of a push is affected:

- `to: "offline"` → **fully batched**
- `to: "online_and_offline"` → **online written immediately**, **offline batched**
- `to: "online"` → unaffected, always immediate

Enable batching in your `feature_store.yaml`:

```yaml
feature_server:
type: local
offline_push_batching_enabled: true
offline_push_batching_batch_size: 1000
offline_push_batching_batch_interval_seconds: 10
```

### Materializing features

Expand Down
16 changes: 16 additions & 0 deletions docs/reference/feature-store-yaml.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,22 @@ online_store:
* **project\_id** — Optional parameter for the datastore online store. Sets the GCP project id used by Feast, if not set Feast will use the default GCP project id in the local environment.
* **project** — Defines a namespace for the entire feature store. Can be used to isolate multiple deployments in a single installation of Feast.

### feature_server

The `feature_server` block configures the Python Feature Server when it is used
to serve online features and handle `/push` requests. This section is optional
and only applies when running the Python feature server.

An example configuration:

```yaml
feature_server:
type: local
offline_push_batching_enabled: true # Enables batching of offline writes processed by /push. Online writes are unaffected.
offline_push_batching_batch_size: 100 # Maximum number of buffered rows before writing to the offline store.
offline_push_batching_batch_interval_seconds: 5 # Maximum time rows may remain buffered before a forced flush.
```

## Providers

The `provider` field defines the environment in which Feast will execute data flows. As a result, it also determines the default values for other fields.
Expand Down
Loading
Loading