Class ResilientDaprPublisher
- Namespace
- Virtufin.WorkManager.Services
- Assembly
- Virtufin.WorkManager.dll
Buffers outbound pub/sub messages during Dapr outages and flushes on reconnect.
public sealed class ResilientDaprPublisher : IAsyncDisposable
- Inheritance
-
ResilientDaprPublisher
- Implements
- Inherited Members
Constructors
ResilientDaprPublisher(PubsubClient, DaprResiliencePipeline, ILogger<ResilientDaprPublisher>, int)
Creates a new ResilientDaprPublisher.
public ResilientDaprPublisher(Pubsub.PubsubClient pubsub, DaprResiliencePipeline resilience, ILogger<ResilientDaprPublisher> logger, int maxBufferSize = 1000)
Parameters
pubsubPubsub.PubsubClientresilienceDaprResiliencePipelineloggerILogger<ResilientDaprPublisher>maxBufferSizeint
Methods
DisposeAsync()
Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources asynchronously.
public ValueTask DisposeAsync()
Returns
- ValueTask
A task that represents the asynchronous dispose operation.
PublishAsync(string, CloudEvent, IReadOnlyDictionary<string, string>?, CancellationToken)
Publishes an event with resilience. If the circuit is broken, buffers the message.
public Task PublishAsync(string topic, CloudEvent cloudEvent, IReadOnlyDictionary<string, string>? extraAttributes, CancellationToken cancellationToken)
Parameters
topicstringcloudEventCloudEventextraAttributesIReadOnlyDictionary<string, string>cancellationTokenCancellationToken