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(DaprClient, DaprResiliencePipeline, ILogger<ResilientDaprPublisher>, string, int)
Creates a new ResilientDaprPublisher.
public ResilientDaprPublisher(DaprClient daprClient, DaprResiliencePipeline resilience, ILogger<ResilientDaprPublisher> logger, string pubsubName, int maxBufferSize = 1000)
Parameters
daprClientDaprClientresilienceDaprResiliencePipelineloggerILogger<ResilientDaprPublisher>pubsubNamestringmaxBufferSizeint
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, ReadOnlyMemory<byte>, string, Dictionary<string, string>, CancellationToken)
Publishes an event with resilience. If the circuit is broken, buffers the message.
public Task PublishAsync(string topic, ReadOnlyMemory<byte> data, string contentType, Dictionary<string, string> metadata, CancellationToken cancellationToken)
Parameters
topicstringdataReadOnlyMemory<byte>contentTypestringmetadataDictionary<string, string>cancellationTokenCancellationToken