A minimal example of a durable message queue implemented using C# and SQLite.
dotnet build
First, you must run the publisher. This will create the database and begin sending messages:
./MessageQueue.Publisher/bin/Debug/net6.0/MessageQueue.Publisher.exe
Then, running the subscriber will consume messages:
./MessageQueue.Subscriber/bin/Debug/net6.0/MessageQueue.Subscriber.exe
Once messages have been consumed, you can purge them with
./MessageQueue.Cleanup/bin/Debug/net6.0/MessageQueue.Cleanup.exe