Table of Contents

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

pubsub Pubsub.PubsubClient
resilience DaprResiliencePipeline
logger ILogger<ResilientDaprPublisher>
maxBufferSize int

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

topic string
cloudEvent CloudEvent
extraAttributes IReadOnlyDictionary<string, string>
cancellationToken CancellationToken

Returns

Task