reserve_backup_window

Documentation for eth_defi.vault.duckdb_backup.reserve_backup_window function.

reserve_backup_window(client, bucket, reservation_id, names, *, action='reserve', now=None)

Reserve a shared daily/HF maintenance window without scheduler starvation.

A bucket-wide conditional receipt has one active named reservation. Routine exporters defer its databases while it is active; the named maintenance exporter still observes every database’s original 48-hour gate. Heartbeats renew a 72-hour lease; cancel releases it without resetting backup clocks.

Parameters
  • client (Any) – R2 client.

  • bucket (str) – Private bucket.

  • reservation_id (str) – Operator-supplied maintenance name.

  • names (list[str]) – Logical database identities reserved together.

  • action (str) – reserve, heartbeat or cancel.

  • now (Optional[datetime.datetime]) – Optional naive UTC test clock.

Returns

Reservation receipt with the earliest common backup time.

Return type

dict