pub struct ClientBuilder { /* private fields */ }
Expand description

Client builder.

Implementations§

Sets the lease table name where the lease info will be stored. The table must have the correct schema.

Default "leases".

Sets the time to live for each lease (or lease extension) in seconds. Must be at least 2.

Note: Time to live is implemented using the native dynamodb feature. As this is based on unix timestamps the unit is seconds. This makes extending ttls lower than 2s not reliable.

Note: A crate::Lease will attempt to extend itself in the background until dropped and then release itself. However, since db comms failing after acquiring a lease is possible, this ttl is the guaranteed lifetime of a lease. As such, and since ttl is not in normal operation relied upon to release leases, it may make sense to set this higher than the max operation time the lease is wrapping.

So, for example, if the locked task can take 1s to 5m a ttl of 10m should provide a decent guarantee that such tasks will never execute concurrently. In normal operation each lease will release (be deleted) immediately after dropping, so having a high ttl only affects the edge case where the extend/drop db interactions fail.

Default 60.

Panics

Panics if less than 2s.

Sets the periodic duration between each background attempt to extend the lease. These happen continually while the crate::Lease is alive.

Each extension renews the lease to the full ttl. This duration must be less than the ttl.

Default lease_ttl_seconds / 2.

Panics

Panics if zero.

Sets how long Client::acquire waits between attempts to acquire a lease.

Default 1s.

Builds a Client and checks the dynamodb table is active with the correct schema.

Panics

Panics if extend_period is not less than lease_ttl_seconds.

Trait Implementations§

Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Instruments this type with the current Span, returning an Instrumented wrapper. Read more

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Should always be Self
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.
Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more