FlowControl(
max_bytes: int = 104857600,
max_messages: int = 1000,
max_lease_duration: float = 3600,
min_duration_per_lease_extension: float = 0,
max_duration_per_lease_extension: float = 0,
)
The settings for controlling the rate at which messages are pulled with an asynchronous subscription.
Attributes | |
---|---|
Name | Description |
max_bytes |
int
The maximum total size of received - but not yet processed - messages before pausing the message stream. Defaults to 100 MiB. |
max_messages |
int
The maximum number of received - but not yet processed - messages before pausing the message stream. Defaults to 1000. |
max_lease_duration |
float
The maximum amount of time in seconds to hold a lease on a message before dropping it from the lease management. Defaults to 1 hour. |
min_duration_per_lease_extension |
float
The min amount of time in seconds for a single lease extension attempt. Must be between 10 and 600 (inclusive). Ignored by default, but set to 60 seconds if the subscription has exactly-once delivery enabled. |
max_duration_per_lease_extension |
float
The max amount of time in seconds for a single lease extension attempt. Bounds the delay before a message redelivery if the subscriber fails to extend the deadline. Must be between 10 and 600 (inclusive). Ignored if set to 0. |
Methods
FlowControl
FlowControl(
max_bytes: int = 104857600,
max_messages: int = 1000,
max_lease_duration: float = 3600,
min_duration_per_lease_extension: float = 0,
max_duration_per_lease_extension: float = 0,
)
Create new instance of FlowControl(max_bytes, max_messages, max_lease_duration, min_duration_per_lease_extension, max_duration_per_lease_extension)