Guest User

Untitled

a guest
Nov 20th, 2018
126
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.22 KB | None | 0 0
  1. namespace Extensions
  2. {
  3. using System;
  4.  
  5. using GreenPipes;
  6.  
  7. using MassTransit;
  8. using MassTransit.QuartzIntegration;
  9. using MassTransit.QuartzIntegration.Configuration;
  10. using MassTransit.Scheduling;
  11.  
  12. using Quartz;
  13.  
  14. public static class InMemoryBusFactoryConfiguratorExtensions
  15. {
  16. public static void UseTestInMemoryScheduler(this IBusFactoryConfigurator configurator, IScheduler scheduler, string queueName = "quartz")
  17. {
  18. configurator.ReceiveEndpoint(queueName, e =>
  19. {
  20. var partitioner = configurator.CreatePartitioner(16);
  21.  
  22. e.Consumer(() => new ScheduleMessageConsumer(scheduler), x =>
  23. x.Message<ScheduleMessage>(m => m.UsePartitioner(partitioner, p => p.Message.CorrelationId)));
  24.  
  25. e.Consumer(() => new CancelScheduledMessageConsumer(scheduler), x =>
  26. x.Message<CancelScheduledMessage>(m => m.UsePartitioner(partitioner, p => p.Message.TokenId)));
  27.  
  28. configurator.UseMessageScheduler(e.InputAddress);
  29.  
  30. var observer = new SchedulerBusObserver(scheduler, e.InputAddress);
  31. configurator.ConnectBusObserver(observer);
  32. });
  33. }
  34. }
  35. }
Add Comment
Please, Sign In to add comment