Skip to content
Jef King edited this page Jan 31, 2016 · 20 revisions

Use Case

There are several ways to achieve dequeuing; but I would suggest looking at the Dequeue Factory. This creates the queue, and then maintains dynamic frequency, batch sizing and number of threads polling.

By using the factory, you are able to specify dynamic characteristics of the dequeuing; see the table below to understand the aspects of each priority.

Low Medium High Definition
Throughput 0.2-9 0.5-102.4 8.5-800 Approx. throughput rate (msgs per second per task)
Cost $0.07-$1.70 $0.21-$10.20 $1.70-$63.72 Approx. cost per month (per task)
public class Factory : ITaskFactory<Configuration>
{
    public IEnumerable<IRunnable> Tasks(Configuration config)
    {
        var setup = new QueueSetupProcessor<Processor, Model>()
        {
            Priority = QueuePriority.Medium,
            Name = "queue-name",
        };
            
        var f = new DequeueFactory("Connection String");
        foreach (var t in f.Tasks(setup))
        {
            yield return t;
        }
    }
}
Clone this wiki locally