MutationsBatcherAsync(
table: TableAsync,
*,
flush_interval: float | None = 5,
flush_limit_mutation_count: int | None = 1000,
flush_limit_bytes: int = 20971520,
flow_control_max_mutation_count: int = 100000,
flow_control_max_bytes: int = 104857600,
batch_operation_timeout: float | TABLE_DEFAULT = TABLE_DEFAULT.MUTATE_ROWS,
batch_attempt_timeout: float | None | TABLE_DEFAULT = TABLE_DEFAULT.MUTATE_ROWS,
batch_retryable_errors: (
Sequence[type[Exception]] | TABLE_DEFAULT
) = TABLE_DEFAULT.MUTATE_ROWS
)
Allows users to send batches using context manager API:
Runs mutate_row, mutate_rows, and check_and_mutate_row internally, combining to use as few network requests as required
Will automatically flush the batcher:
- every flush_interval seconds
- after queue size reaches flush_limit_mutation_count
- after queue reaches flush_limit_bytes
- when batcher is closed or destroyed
Methods
__aenter__
__aenter__()
Allow use of context manager API
__aexit__
__aexit__(exc_type, exc, tb)
Allow use of context manager API.
Flushes the batcher and cleans up resources.
append
append(mutation_entry: google.cloud.bigtable.data.mutations.RowMutationEntry)
Add a new set of mutations to the internal queue
Exceptions | |
---|---|
Type | Description |
RuntimeError |
if batcher is closed |
ValueError |
if an invalid mutation type is added |
close
close()
Flush queue and clean up resources