Class WorkerProcessingRetryOptions
- Namespace
- Virtufin.WorkManager.Configuration
- Assembly
- Virtufin.WorkManager.dll
Tunable knobs for WorkerProcessingRetryPipeline:
the Polly-based retry wrapping worker.ProcessAsync in
WorkManager.ProcessCloudEventAsync.
Deliberately separate from DaprResilienceOptions even though the defaults happen to match: that class scopes Dapr infra call retries (state store, pubsub RPCs), this one scopes worker business-logic processing failures -- restoring the pubsub-topics spec's "Retry Policy on Dapr Subscribe Exceptions" bounded-retry-then-dead-letter guarantee, which the streaming Pubsub.Subscribe migration moved from Dapr's broker-level redelivery to WorkManager's own application-level responsibility (broker redelivery is architecturally inapplicable once a message is inside the Gateway's multi-consumer fan-out -- see spec's "In-process exception on a subscriber" requirement).
public sealed record WorkerProcessingRetryOptions : IEquatable<WorkerProcessingRetryOptions>
- Inheritance
-
WorkerProcessingRetryOptions
- Implements
- Inherited Members
Fields
DefaultRetryAttempts
Default retry attempts -- matches the pubsub-topics spec's maxRedeliveryCount default of 3.
public const int DefaultRetryAttempts = 3
Field Value
DefaultRetryBaseDelayMs
Default retry base delay in ms.
public const int DefaultRetryBaseDelayMs = 200
Field Value
RetryAttemptsEnvVar
Env var for RetryAttempts.
public const string RetryAttemptsEnvVar = "WORKER_RETRY_ATTEMPTS"
Field Value
RetryBaseDelayMsEnvVar
Env var for RetryBaseDelayMs.
public const string RetryBaseDelayMsEnvVar = "WORKER_RETRY_BASE_DELAY_MS"
Field Value
Properties
RetryAttempts
Number of retry attempts (Polly MaxRetryAttempts) before the message is dead-lettered.
public int RetryAttempts { get; init; }
Property Value
RetryBaseDelayMs
Base delay between attempts; actual delay is RetryBaseDelayMs * 2^attempt.
public int RetryBaseDelayMs { get; init; }
Property Value
Methods
FromEnvironment(Func<string, string?>)
public static WorkerProcessingRetryOptions FromEnvironment(Func<string, string?> getEnvironment)