Class OutboxOptions
Settings for StatementOutbox. The outbox copies them when it is created.
public sealed class OutboxOptions
- Inheritance
-
OutboxOptions
- Inherited Members
Properties
BatchSize
The largest number of Statements sent in one request. Defaults to 50.
public int BatchSize { get; set; }
Property Value
Remarks
The outbox lowers it on its own, for its lifetime, when the LRS answers 413 Content Too Large.
InitialRetryDelay
The delay after the first transient failure. Defaults to 2 seconds.
public TimeSpan InitialRetryDelay { get; set; }
Property Value
Remarks
After the n-th failure in a row the outbox waits a random time between half of and all of
InitialRetryDelay × 2^(n−1), at most MaxRetryDelay. When the LRS sends a longer
Retry-After, the outbox waits that long instead, even beyond MaxRetryDelay.
MaxAttempts
How many transient failures a Statement may have before it is moved to the dead letters with MaxAttemptsExceeded, or null (the default) to retry transient errors for ever.
public int? MaxAttempts { get; set; }
Property Value
- int?
Remarks
Only the Statements of the request that failed are counted, so during a long outage the oldest Statements run out of attempts first. Leave it unset for offline use.
MaxQueueSize
The largest number of Statements that may wait in the outbox, or null for no limit. Defaults to 100,000. When it is reached, EnqueueAsync(Statement, CancellationToken) throws OutboxFullException; nothing already queued is dropped. Dead letters do not count.
public int? MaxQueueSize { get; set; }
Property Value
- int?
MaxRetryDelay
The longest delay between retries, before jitter. Defaults to 5 minutes.
public TimeSpan MaxRetryDelay { get; set; }
Property Value
TimeProvider
The clock and timers the outbox uses. Defaults to System.
public TimeProvider TimeProvider { get; set; }