SimpleHelpers.TimedQueue

Simple lightweight queue that stores data in a concurrent queue and periodically process the queued items. Userful for: * processing items in batches; * grouping data for later processing; * async processing (consumer/producer); * etc. Note: this nuget package contains c# source code and depends on System.Collections.Concurrent introduced in .Net 4.0.


Keywords
Utils, SimpleHelpers, Queue, Threading, producer, consumer, flow
License
MIT
Install
Install-Package SimpleHelpers.TimedQueue -Version 2.1.0

Documentation

SimpleHelpers.Net

GitHub license

Micro-libraries (pieces of utility code) for .Net that are safe and simple to use.

In every project there are lot's of reusable patterns that we find our selves rewriting or just doing some copy & paste, and thus the idea behind SimpleHelpers micro-libraries is to create a small collection of such code but keeping it reliable and easy to use.

Most of SimpleHelpers.Net libraries are distributed by Nuget.org as source code files (c#), since this enable us to use these utility code as micro-libraries without creating and having to deploy a huge number of assemblies (dlls). The idea is to keep things simple!

Distributing source code also make things easier in case of doubt or curiosity. You can just take a look into the full source code!

All micro-libraries are well-tested for both performance and reliability. So feel free to use them!


Documentation Site

http://khalidsalomao.github.io/SimpleHelpers.Net/


Micro-libraries

FileEncoding

  • Detect any text file charset encoding using Mozilla Charset Detector.
  • Check if a file is text or binary.
  • See documentation

MemoryCache

NamedLock

  • Synchronization helper: a lock associated with a key and with timeout.
  • See documentation

SQLiteStorage

ObjectDiffPatch

  • Simple Object Comparer that generates a Diff between objects and is able to Patch one object to transforms into the other.
  • See documentation

ConsoleUtils

  • Application initialization helper:
    1. merge application settings, command line arguments & external options
    2. configure nlog
    3. ...

ConfigManager

  • Simple configuration manager to get and set the values in the AppSettings section of the default configuration file.
  • See documentation

ObjectPool

TimedQueue

  • Fast lightweight in-memory queue that stores data in a concurrent queue and periodically process the queued items.
  • See documentation

ParallelTasks

  • Similar to Parallel.For but more flexible and with bounded task queue.

FlexibleObject

ScriptEvaluator

  • Loads C# source code.

ModuleContainer

  • Easy, fast and non-invasive dependency injection and plugin system.
  • See documentation

RabbitWorkQueue


Contribute


Support

If you are having issues, please let us know here.


License

The project is licensed under the MIT license.