AzureStorage.QueueService.HealthChecks 3.1.0

dotnet add package AzureStorage.QueueService.HealthChecks --version 3.1.0
                    
NuGet\Install-Package AzureStorage.QueueService.HealthChecks -Version 3.1.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="AzureStorage.QueueService.HealthChecks" Version="3.1.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="AzureStorage.QueueService.HealthChecks" Version="3.1.0" />
                    
Directory.Packages.props
<PackageReference Include="AzureStorage.QueueService.HealthChecks" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add AzureStorage.QueueService.HealthChecks --version 3.1.0
                    
#r "nuget: AzureStorage.QueueService.HealthChecks, 3.1.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package AzureStorage.QueueService.HealthChecks@3.1.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=AzureStorage.QueueService.HealthChecks&version=3.1.0
                    
Install as a Cake Addin
#tool nuget:?package=AzureStorage.QueueService.HealthChecks&version=3.1.0
                    
Install as a Cake Tool

AzureStorage.QueueService.HealthChecks

Health checks for AzureStorage.QueueService, for use with ASP.NET Core's AddHealthChecks() and MapHealthChecks().

dotnet add package AzureStorage.QueueService.HealthChecks

The two checks

AddAzureStorageQueueProcessors() reports whether your hosted queue processors are working. It reads their in-memory state only, so it makes no storage calls and costs nothing to run on every probe.

  • Unhealthy when a processor's last 3 receives all failed (it cannot reach its queue, the queue is missing, or it lost access). Change the count with UnhealthyAfterReceiveFailures.
  • Degraded when a processor is paused (change with PausedStatus), or when a message has been in its handler longer than MaxHandlerAge (off unless you set it; a sign of a stuck handler).
  • Healthy otherwise, including while the host is still starting.

AddAzureStorageQueue(clientName) checks that a queue can be reached by reading its properties. With DegradedWhenPoisonMessages it also reports Degraded while the poison queue (where messages go after failing too many times) holds any messages. Each run is a billable Azure Storage call (two with the poison option), so keep it off a probe that runs every few seconds. A run that takes longer than Timeout (10 seconds by default) is reported as failed rather than holding the probe open.

Example

builder.Services.AddAzureStorageQueueClient(queues =>
    queues.AddClient("orders", settings => builder.Configuration.Bind("Queues:Orders", settings))
          .AddProcessor<Order, OrderHandler>());

builder.Services.AddHealthChecks()
    .AddAzureStorageQueueProcessors(tags: ["live"], configure: o => o.MaxHandlerAge = TimeSpan.FromMinutes(10))
    .AddAzureStorageQueue("orders", tags: ["ready"], configure: o => o.DegradedWhenPoisonMessages = true);

var app = builder.Build();
app.MapHealthChecks("/health/live", new() { Predicate = check => check.Tags.Contains("live") });
app.MapHealthChecks("/health/ready", new() { Predicate = check => check.Tags.Contains("ready") });

By default MapHealthChecks answers 200 for Healthy and Degraded and 503 for Unhealthy. Each result's description says which processor or queue has a problem and why, and its data carries the details (state, receive failures, last error, message counts) for a response writer to show.

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
3.1.0 40 10/16/2026