Getting Started
Architecture
NServiceBus
Transports
Persistence
ServiceInsight
ServicePulse
ServiceControl
Monitoring
Samples

Pipeline events

Component: NServiceBus
NuGet Package: NServiceBus (8.x)

The pipeline raises the following notification events:

Receive pipeline completed

Every time a receive pipeline is completed, a ReceivePipelineCompleted event will be raised. This event will not occur when message processing fails e.g. inside a handler.

Use the following configuration code to subscribe to the event:

endpointConfiguration.Pipeline.OnReceivePipelineCompleted(
    subscription: (completed, ct) =>
    {
        var duration = completed.CompletedAt - completed.StartedAt;
        log.Info($"Receive completed. Message: {completed.ProcessedMessage.MessageId}, duration: {duration}");
        return Task.CompletedTask;
    });

Subscribing from a feature is shown below:

var pipeline = context.Pipeline;
pipeline.OnReceivePipelineCompleted(
    subscription: (completed, ct) =>
    {
        var duration = completed.CompletedAt - completed.StartedAt;
        log.Info($"Receive completed: Message: {completed.ProcessedMessage.MessageId}, duration: {duration}");
        return Task.CompletedTask;
    });

Related Articles

  • Recoverability
    Explains how exceptions are handled, and actions retried, during message processing.