Skip to content

ResQueue is a web-based UI tool for managing SQL-based message transports.

Notifications You must be signed in to change notification settings

filipbekic01/ResQueue

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ResQueue

ResQueue (pronounced /ˈrɛskjuː/) is a web-based UI management tool designed for SQL-based message transports. Currently, it offers seamless integration with MassTransit, and we're open to adding support for additional frameworks based on user feedback and demand.

Join our community on Discord for updates, support, and discussions.

Work in Progress

All checked features are available in latest NuGet version.

Brokers

  • MassTransit
    • MassTransit.SqlTransport.PostgreSQL
    • MassTransit.SqlTransport.SqlServer

Features

  • Tabular broker information view
  • Tabular queues view
  • Tabluar messages view
    • Requeue selected messages (transactional and non-transactional)
    • Requeue first N messages from the top of the queue
    • Delete selected messages (transactional and non-transactional)
    • Purge all messages
    • Single message view
      • Job state preview if present
  • Tabuar topics view
  • Tabular recurring jobs view

Configuration

To set up ResQueue, follow these simple steps:

  1. Install the latest version of ResQueue.MassTransit from NuGet to ensure compatibility with the official MassTransit updates:
dotnet add package ResQueue.MassTransit
  1. In your .NET application, configure ResQueue in the WebApplication builder by calling builder.Services.AddResQueue() with your database connection details. This can be done as follows:

Warning

ResQueue configuration must follow the MassTransit setup, as MassTransit is a prerequisite for ResQueue to function correctly. Required MassTransit version is at least 8.3.2.

var builder = WebApplication.CreateBuilder(args);

// MassTransit configuration...

// ResQueue relays on MassTransit.SqlTransportOptions credentials
builder.Services.AddResQueue(o => o.SqlEngine = ResQueueSqlEngine.Postgres);

// Make sure you add this line after MassTransit SQL migrations hosted service
builder.Services.AddResQueueMigrationsHostedService();

var app = builder.Build();

app.UseResQueue("resqueue", options =>
{
    // Recommended for production environments, add roles too
    options.RequireAuthorization();
});

app.Run();
  1. Once this is set up, your application should work right out of the box.

ResQueue will handle all the configuration and integration with MassTransit for you, making it simple to manage your SQL transports.

Docker (optional)

Simplify your setup by running ResQueue in standalone mode with Docker. Get up and running effortlessly without additional configurations—just pull the container and you're ready to go.

docker run -it --rm -p 8080:8080 -e ResQueue:SqlEngine=Postgres -e SqlTransport:ConnectionString="Host=host.docker.internal;Database=DATABASE;Username=USERNAME;Password=PASSWORD;" ghcr.io/filipbekic01/resqueue

UI Preview

Here's a quick preview of the ResQueue user interface, providing you with a glimpse of what to expect.

image image image image