protected void TestConcurrentIterationWithDrainer(SubscriptionAction act) { IDictionary <string, object> args = new Dictionary <string, object> { { "x-message-ttl", 5000 } }; string q = Model.QueueDeclare("", false, true, false, args); Subscription sub = new Subscription(Model, q, false); PreparedQueue(q); List <Thread> ts = new List <Thread>(); for (int i = 0; i < 50; i++) { SubscriptionDrainer drainer = new SubscriptionDrainer(sub, act); Thread t = new Thread(drainer.Drain); ts.Add(t); t.Start(); } foreach (Thread t in ts) { t.Join(); } }
protected void TestSequentialIterationWithDrainer(Action <Subscription> action) { IDictionary <string, object> args = new Dictionary <string, object> { { "x-message-ttl", 5000 } }; string queueDeclare = Model.QueueDeclare("", false, true, false, args); var subscription = new Subscription(Model, queueDeclare, false); PreparedQueue(queueDeclare); var drainer = new SubscriptionDrainer(subscription, action); drainer.Drain(); }
protected void TestConcurrentIterationWithDrainer(Action<Subscription> action) { IDictionary<string, object> args = new Dictionary<string, object> { {Headers.XMessageTTL, 5000} }; string queueDeclare = Model.QueueDeclare("", false, true, false, args); var subscription = new Subscription(Model, queueDeclare, false); PreparedQueue(queueDeclare); var threads = new List<Thread>(); for (int i = 0; i < 50; i++) { var drainer = new SubscriptionDrainer(subscription, action); var thread = new Thread(drainer.Drain); threads.Add(thread); thread.Start(); } threads.ForEach(x => x.Join(TimeSpan.FromSeconds(20))); }
protected void TestConcurrentIterationWithDrainer(Action <Subscription> action) { IDictionary <string, object> args = new Dictionary <string, object> { { "x-message-ttl", 5000 } }; string queueDeclare = Model.QueueDeclare("", false, true, false, args); var subscription = new Subscription(Model, queueDeclare, false); PreparedQueue(queueDeclare); var threads = new List <Thread>(); for (int i = 0; i < 50; i++) { var drainer = new SubscriptionDrainer(subscription, action); var thread = new Thread(drainer.Drain); threads.Add(thread); thread.Start(); } threads.ForEach(x => x.Join(TimeSpan.FromSeconds(20))); }
protected void TestConcurrentIterationWithDrainer(SubscriptionAction act) { IDictionary<string, object> args = new Dictionary<string, object> { {"x-message-ttl", 5000} }; string q = Model.QueueDeclare("", false, true, false, args); Subscription sub = new Subscription(Model, q, false); PreparedQueue(q); List<Thread> ts = new List<Thread>(); for (int i = 0; i < 50; i++) { SubscriptionDrainer drainer = new SubscriptionDrainer(sub, act); Thread t = new Thread(drainer.Drain); ts.Add(t); t.Start(); } foreach(Thread t in ts) { t.Join(); } }
protected void TestSequentialIterationWithDrainer(Action<Subscription> action) { IDictionary<string, object> args = new Dictionary<string, object> { {Headers.XMessageTTL, 5000} }; string queueDeclare = Model.QueueDeclare("", false, true, false, args); var subscription = new Subscription(Model, queueDeclare, false); PreparedQueue(queueDeclare); var drainer = new SubscriptionDrainer(subscription, action); drainer.Drain(); }