MongoDbQueueService 0.0.20

There is a newer version of this package available.
See the version list below for details.
dotnet add package MongoDbQueueService --version 0.0.20
                    
NuGet\Install-Package MongoDbQueueService -Version 0.0.20
                    
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="MongoDbQueueService" Version="0.0.20" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="MongoDbQueueService" Version="0.0.20" />
                    
Directory.Packages.props
<PackageReference Include="MongoDbQueueService" />
                    
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 MongoDbQueueService --version 0.0.20
                    
#r "nuget: MongoDbQueueService, 0.0.20"
                    
#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.
#addin nuget:?package=MongoDbQueueService&version=0.0.20
                    
Install as a Cake Addin
#tool nuget:?package=MongoDbQueueService&version=0.0.20
                    
Install as a Cake Tool

Abstract

The MongoDbQueueService it's my vision of what a queue service should be: Light, easy to use and using the new coding standards.

This intension of this project is not replace any comercial queue implementation or vision of queue system, but, it's a theorical and personal vision of how developers should solve the queue problem.

Another goal of this project if to be able to set the full Application Life Cycle since developent, CI/CD and release as nuget package.

What is included in the Package

MongoDbQueueService

Service responsible to Publish and Subscribe messages into a queue.

How to use MongoDbQueueService

First of all, the worker that will use the MongoDbQueueService will only subscribe to one queue and publish to one queue. This is a design decision in order to have a "Light" queue service. Subscribing different queue should mean have different "workers".

Configuration file

By convention the configuration file should be called appsettings.json and will have three (3) possible sections:

  • subscriberSettings This section describes the connection string to the MongoDb and the queue that will be listen.
"subscriberSettings": {
    "connectionString": "mongodb://localhost:27017",
    "database": "MongoDatabase",
    "queue": "Queue2Listen",
    "workerName": "WORKER_NAME"
}
  • publisherSettings This section describes the connection string to the MongoDb and the follow up queue the worker will publish messages.
"publisherSettings": {
    "connectionString": "mongodb://localhost:27017",
    "database": "MongoDatabase",
    "queue": "Queue2Publish" 
}

Subscriber

Publisher

Publish a message to a specific queue. Instaciate the Publisher can be done in three ways:

  • Publish(debug = false);
  • Publish(PublisherSettings settings);
  • Publish(string url, string database, string collection);

Using the parameter less will use configuration stored in the appsettings.json. Providing debug parameter signal the Publisher to look for the file in the same folder the binary (debug = true) or in the folder /settings (debug = false).

This lib assumes that will run in the container enviroment.

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  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. 
.NET Core netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.1 is compatible. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos 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
0.0.21 310 3/19/2023
0.0.20 270 2/17/2023
0.0.19 434 10/4/2022
0.0.18 493 9/23/2022
0.0.17 437 9/22/2022
0.0.16 448 9/22/2022
0.0.15 475 9/22/2022
0.0.14 464 9/22/2022
0.0.13 438 9/10/2022
0.0.12 437 9/6/2022
0.0.11 426 9/2/2022
0.0.10 434 8/30/2022
0.0.9 425 8/27/2022
0.0.8 436 8/27/2022
0.0.7 450 8/27/2022
0.0.4 435 8/27/2022
0.0.1 454 8/27/2022