Table of Contents

Class DaprResilienceOptions

Namespace
Virtufin.WorkManager.Configuration
Assembly
Virtufin.WorkManager.dll

Tunable knobs for DaprResiliencePipeline: the Polly-based retry + circuit breaker wrapping every Dapr SDK call the WorkManager makes.

public sealed record DaprResilienceOptions : IEquatable<DaprResilienceOptions>
Inheritance
DaprResilienceOptions
Implements
Inherited Members

Fields

CircuitBreakerBreakDurationSecondsEnvVar

public const string CircuitBreakerBreakDurationSecondsEnvVar = "DAPR_CIRCUIT_BREAKER_DURATION_SECONDS"

Field Value

string

CircuitBreakerMinimumThroughputEnvVar

public const string CircuitBreakerMinimumThroughputEnvVar = "DAPR_CIRCUIT_BREAKER_THRESHOLD"

Field Value

string

DefaultCircuitBreakerBreakDurationSeconds

Default circuit-breaker open duration in seconds.

public const int DefaultCircuitBreakerBreakDurationSeconds = 30

Field Value

int

DefaultCircuitBreakerMinimumThroughput

Default circuit-breaker minimum throughput (failures in the rolling window before tripping).

public const int DefaultCircuitBreakerMinimumThroughput = 5

Field Value

int

DefaultRetryAttempts

Default retry attempts (matches the original hardcoded constant).

public const int DefaultRetryAttempts = 3

Field Value

int

DefaultRetryBaseDelayMs

Default retry base delay in ms.

public const int DefaultRetryBaseDelayMs = 200

Field Value

int

RetryAttemptsEnvVar

Env var for RetryAttempts.

public const string RetryAttemptsEnvVar = "DAPR_RETRY_ATTEMPTS"

Field Value

string

RetryBaseDelayMsEnvVar

Env var for RetryBaseDelayMs.

public const string RetryBaseDelayMsEnvVar = "DAPR_RETRY_BASE_DELAY_MS"

Field Value

string

Properties

CircuitBreakerBreakDurationSeconds

How long the circuit stays open before transitioning to half-open.

public int CircuitBreakerBreakDurationSeconds { get; init; }

Property Value

int

CircuitBreakerMinimumThroughput

Minimum number of operations in the window before the circuit can trip.

public int CircuitBreakerMinimumThroughput { get; init; }

Property Value

int

RetryAttempts

Number of retry attempts (Polly MaxRetryAttempts).

public int RetryAttempts { get; init; }

Property Value

int

RetryBaseDelayMs

Base delay between attempts; actual delay is RetryBaseDelayMs * 2^attempt.

public int RetryBaseDelayMs { get; init; }

Property Value

int

Methods

FromEnvironment(Func<string, string?>)

public static DaprResilienceOptions FromEnvironment(Func<string, string?> getEnvironment)

Parameters

getEnvironment Func<string, string>

Returns

DaprResilienceOptions