Class OutboxWorker
Processes the outbox and produces the messages to the target message broker endpoint.
Inherited Members
Namespace: Silverback.Messaging.Producing.TransactionalOutbox
Assembly: Silverback.Integration.dll
Syntax
public sealed class OutboxWorker : IOutboxWorker, IDisposable
Constructors
OutboxWorker(OutboxWorkerSettings, IOutboxReader, IProducerCollection, ISilverbackLogger<OutboxWorker>)
Initializes a new instance of the OutboxWorker class.
Declaration
public OutboxWorker(OutboxWorkerSettings settings, IOutboxReader outboxReader, IProducerCollection producers, ISilverbackLogger<OutboxWorker> logger)
Parameters
| Type | Name | Description |
|---|---|---|
| OutboxWorkerSettings | settings | The worker settings. |
| IOutboxReader | outboxReader | The IOutboxReader to be used to retrieve the pending messages. |
| IProducerCollection | producers | The IProducerCollection. |
| ISilverbackLogger<OutboxWorker> | logger |
Methods
Dispose()
Processes the outbox and produces the messages to the target message broker endpoint.
Declaration
public void Dispose()
GetLengthAsync()
Returns the total number of messages in the outbox.
Declaration
public Task<int> GetLengthAsync()
Returns
| Type | Description |
|---|---|
| Task<int> | A Task<TResult> representing the asynchronous operation. The task result contains the number of messages in the outbox. |
ProcessOutboxAsync(CancellationToken)
Processes the outbox relaying the stored messages.
Declaration
public Task<bool> ProcessOutboxAsync(CancellationToken stoppingToken)
Parameters
| Type | Name | Description |
|---|---|---|
| CancellationToken | stoppingToken | A CancellationToken to observe while waiting for the task to complete. |
Returns
| Type | Description |
|---|---|
| Task<bool> | A Task<TResult> representing the asynchronous operation. The task result contains a value indicating whether
the outbox contained at least 1 message, and it was successfully processed. The caller should ideally keep invoking this method
in a loop, until |