示例#1
0
 public static IServiceCollection OverrideQueueClientFactory(
     this IServiceCollection services,
     IQueueClientFactory instance)
 {
     services.Replace(new ServiceDescriptor(typeof(IQueueClientFactory), instance));
     return(services);
 }
示例#2
0
        public EmployeePayrollUpdateCommandHandler(CosmosClient client, IQueueClientFactory clientFactory)
        {
            Guard.Against.Null(client, nameof(client));

            this.client = client;

            queueClient = clientFactory.Create(AppResources.Queue.EmployeePayrollUpdates);
        }
示例#3
0
 public ServiceBusCommandQueueClient(
     Dictionary <string, Type> commandTypeDictionary,
     IServiceBusNamespaceFactory serviceBusNamespaceFactory,
     IQueueClientFactory queueClientFactory)
 {
     _commandTypeDictionary      = commandTypeDictionary;
     _serviceBusNamespaceFactory = serviceBusNamespaceFactory;
     _queueClientFactory         = queueClientFactory;
 }
示例#4
0
 public QueueProcessor(
     IQueueMessageMapperRegistry mapperRegistry,
     IQueueMessageMapperFactory mapperFactory,
     IQueueClientFactory clientFactory)
 {
     _mapperRegistry = mapperRegistry;
     _mapperFactory  = mapperFactory;
     _clientFactory  = clientFactory;
 }
示例#5
0
 public SendSmsCommandHandlerWithDelayHandler(
     ICommandHandlerAsync <SendSmsCommand> handler,
     IQueueClientFactory queueClientFactory,
     ILoggerFactory logFactory,
     ISettingService settingService)
 {
     _handler        = handler;
     _queueClient    = queueClientFactory.Create <SmsOutgoingMessage>();
     _log            = logFactory.CreateLogger <SendSmsCommandHandlerWithDelayHandler>();
     _settingService = settingService;
 }
 public TriggerSurveyInvitesCommandHandler(
     IStoreApprenticeSurveyDetails surveyDetailsRepo,
     ISettingService settingService,
     IQueueClientFactory queueClientFactory,
     ILogger <TriggerSurveyInvitesCommandHandler> logger)
 {
     _surveyDetailsRepo = surveyDetailsRepo;
     _settingService    = settingService;
     _queueClient       = queueClientFactory.Create <SmsIncomingMessage>();
     _logger            = logger;
 }
示例#7
0
 public Orchestrator(IConfigurationReader configurationReader,
                     IQueueClientFactory queueClientFactory,
                     IMessageProcessorFactory messageProcessorFactory,
                     IQueueProcessorFactory queueProcessorFactory,
                     IConfigurationChangeManager configurationChangeManager)
 {
     IsProcessing                = false;
     _configurationReader        = configurationReader;
     _queueClientFactory         = queueClientFactory;
     _messageProcessorFactory    = messageProcessorFactory;
     _queueProcessorFactory      = queueProcessorFactory;
     _configurationChangeManager = configurationChangeManager;
 }
示例#8
0
        public NotificationsService(
            IQueueClientFactory queueClientFactory,
            ISettings settings)
        {
            if (queueClientFactory == null)
            {
                throw new ArgumentNullException(nameof(queueClientFactory));
            }
            if (settings == null)
            {
                throw new ArgumentNullException(nameof(settings));
            }

            _emailNotificationQueueClient = queueClientFactory.CreateClient(settings.ServiceBusSettings.EmailNotificationQueue);
            _pushNotificationQueueClient  = queueClientFactory.CreateClient(settings.ServiceBusSettings.PushNotificationQueue);
            _smsNotificationQueueClient   = queueClientFactory.CreateClient(settings.ServiceBusSettings.SmsNotificationQueue);
        }
示例#9
0
        private List <IQueueProcessor> FindConfigsToAdd(List <ConfigurationEntry> configurations,
                                                        List <IQueueProcessor> processors,
                                                        IQueueClientFactory queueClientFactory,
                                                        IMessageProcessorFactory messageProcessorFactory,
                                                        IQueueProcessorFactory queueProcessorFactory)
        {
            var toAdd = new List <IQueueProcessor>();

            foreach (var config in configurations)
            {
                if (!config.Active)
                {
                    continue;
                }

                var found = false;
                foreach (var processor in processors)
                {
                    found = ((config.Alias == processor.Configuration.Alias) &&
                             (config.AccessKey == processor.Configuration.AccessKey) &&
                             (config.AwsGatewayToken == processor.Configuration.AwsGatewayToken) &&
                             (config.AuthToken == processor.Configuration.AuthToken) &&
                             (config.QueueUrl == processor.Configuration.QueueUrl) &&
                             (config.RedriveUrl == processor.Configuration.RedriveUrl) &&
                             (config.Region == processor.Configuration.Region) &&
                             (config.SecretKey == processor.Configuration.SecretKey));
                    if (found)
                    {
                        break;
                    }
                }

                if (!found)
                {
                    Logger.Debug($"Creating new queueprocessor for queue [{config.QueueUrl}], url [{config.RedriveUrl}], alias [{config.Alias}]");
                    var queueClient = queueClientFactory.CreateClient(config);
                    queueClient.Init();
                    var queueProcessor = queueProcessorFactory.CreateQueueProcessor();
                    queueProcessor.Init(queueClient, messageProcessorFactory, config);
                    toAdd.Add(queueProcessor);
                }
            }

            return(toAdd);
        }
示例#10
0
        public void ReadChanges(IConfigurationReader configurationReader,
                                List <IQueueProcessor> processors,
                                IQueueClientFactory queueClientFactory,
                                IMessageProcessorFactory messageProcessorFactory,
                                IQueueProcessorFactory queueProcessorFactory)
        {
            var configurations = configurationReader.ReadConfiguration();

            /*
             * First, create processors to add.
             */
            var toAdd = FindConfigsToAdd(configurations,
                                         processors,
                                         queueClientFactory,
                                         messageProcessorFactory,
                                         queueProcessorFactory);

            /*
             * Second, find processors to remove.
             */
            var toRemove = FindEntriesToRemove(configurations, processors);

            /*
             * Now remove those for removal and add the new ones.
             */

            foreach (var processor in toRemove)
            {
                Logger.Info($"Stopping queueprocessor for queue [{processor.Configuration.QueueUrl}], url [{processor.Configuration.RedriveUrl}], alias [{processor.Configuration.Alias}]");
                processor.Stop();
                processors.Remove(processor);
            }

            foreach (var processor in toAdd)
            {
                Logger.Info($"Starting new queueprocessor for queue [{processor.Configuration.QueueUrl}], url [{processor.Configuration.RedriveUrl}], alias [{processor.Configuration.Alias}]");
                processor.Start();
                processors.Add(processor);
            }
        }
示例#11
0
        public DataUpdateService(
            IStocksRepository stocksRepository,
            IAlertDefinitionsRepository alertDefinitionsRepository,
            IStockDataWebClient stockDataWebClient,
            IQueueClientFactory queueClientFactory,
            ISettings settings)
        {
            _stocksRepository           = stocksRepository ?? throw new ArgumentNullException(nameof(stocksRepository));
            _alertDefinitionsRepository = alertDefinitionsRepository ?? throw new ArgumentNullException(nameof(alertDefinitionsRepository));
            _stockDataWebClient         = stockDataWebClient ?? throw new ArgumentNullException(nameof(stockDataWebClient));

            if (settings == null)
            {
                throw new ArgumentNullException(nameof(settings));
            }
            if (queueClientFactory == null)
            {
                throw new ArgumentNullException(nameof(queueClientFactory));
            }

            _alertProcessingQueueClient = queueClientFactory.CreateClient(settings.ServiceBusSettings.AlertProcessingQueue);
        }
 public QueueManager(IQueueClientFactory queueClientFactory)
 {
     _queueClientFactory = queueClientFactory ?? throw new ArgumentNullException(nameof(queueClientFactory));
 }
 public ServiceBusComposer OverrideQueueClientFactory(IQueueClientFactory factory)
 {
     _overrideFactory = s => s.OverrideQueueClientFactory(factory);
     return(this);
 }
 public QueueClientMessageHandler(ILogger <QueueClientMessageHandler> logger, IQueueClientFactory factory, IBinarySerializer serializer) : base(logger)
 {
     _logger     = logger;
     _factory    = factory;
     _serializer = serializer;
 }