protected void CreateModuleIfNeeded(string queueName, ConsumerQueueTypes type) { if (Queues.ContainsKey(queueName)) { return; } switch (type) { case ConsumerQueueTypes.Poco: Queues.Add(queueName, _queueContainer.Value.CreateConsumer(queueName, ConfigurationManager.AppSettings["Connection"])); break; case ConsumerQueueTypes.Method: Queues.Add(queueName, _queueContainer.Value.CreateMethodConsumer(queueName, ConfigurationManager.AppSettings["Connection"])); break; } QueueStatus?.AddStatusProvider( QueueStatusContainer.Value.CreateStatusProvider <TTransportInit>(queueName, ConfigurationManager.AppSettings["Connection"])); }
protected void CreateModuleIfNeeded(string queueName, ConsumerQueueTypes type = ConsumerQueueTypes.Poco, string workGroupName = null, int concurrencyLevel = 0, int maxQueueSize = 0) { if (_taskScheduler == null) { _taskScheduler = _schedulerContainer.Value.CreateTaskScheduler(); _taskFactory = _schedulerContainer.Value.CreateTaskFactory(_taskScheduler); } if (!string.IsNullOrWhiteSpace(queueName) && !Queues.ContainsKey(queueName)) { IConsumerBaseQueue queue = null; if (workGroupName != null) { if (!_taskScheduler.Started) { _taskScheduler.Start(); } var group = _taskScheduler.AddWorkGroup(workGroupName, concurrencyLevel, maxQueueSize); switch (type) { case ConsumerQueueTypes.Poco: queue = _queueContainer.Value.CreateConsumerQueueScheduler(queueName, ConfigurationManager.AppSettings["Connection"], _taskFactory, group); break; case ConsumerQueueTypes.Method: queue = _queueContainer.Value.CreateConsumerMethodQueueScheduler(queueName, ConfigurationManager.AppSettings["Connection"], _taskFactory, group); break; } } else { switch (type) { case ConsumerQueueTypes.Poco: queue = _queueContainer.Value.CreateConsumerQueueScheduler(queueName, ConfigurationManager.AppSettings["Connection"], _taskFactory); break; case ConsumerQueueTypes.Method: queue = _queueContainer.Value.CreateConsumerMethodQueueScheduler(queueName, ConfigurationManager.AppSettings["Connection"], _taskFactory); break; } } Queues.Add(queueName, queue); QueueStatus?.AddStatusProvider( QueueStatusContainer.Value.CreateStatusProvider <TTransportInit>(queueName, ConfigurationManager.AppSettings["Connection"])); } }
protected void CreateModuleIfNeeded(QueueConnection queueConnection, ConsumerQueueTypes type = ConsumerQueueTypes.Poco, string workGroupName = null, int concurrencyLevel = 0, int maxQueueSize = 0) { if (_taskScheduler == null) { _taskScheduler = _schedulerContainer.Value.CreateTaskScheduler(); _taskFactory = _schedulerContainer.Value.CreateTaskFactory(_taskScheduler); } if (!string.IsNullOrWhiteSpace(queueConnection.Queue) && !Queues.ContainsKey(queueConnection.Queue)) { IConsumerBaseQueue queue = null; if (workGroupName != null) { if (!_taskScheduler.Started) { _taskScheduler.Start(); } var group = _taskScheduler.AddWorkGroup(workGroupName, concurrencyLevel, maxQueueSize); switch (type) { case ConsumerQueueTypes.Poco: queue = _queueContainer.Value.CreateConsumerQueueScheduler(queueConnection, _taskFactory, group); break; case ConsumerQueueTypes.Method: queue = _queueContainer.Value.CreateConsumerMethodQueueScheduler(queueConnection, _taskFactory, group); break; } } else { switch (type) { case ConsumerQueueTypes.Poco: queue = _queueContainer.Value.CreateConsumerQueueScheduler(queueConnection, _taskFactory); break; case ConsumerQueueTypes.Method: queue = _queueContainer.Value.CreateConsumerMethodQueueScheduler(queueConnection, _taskFactory); break; } } Queues.Add(queueConnection.Queue, queue); } }
private void CreateModuleIfNeeded(QueueConnection queue, ConsumerQueueTypes type) { if (!_queues.ContainsKey(queue.Queue)) { switch (type) { case ConsumerQueueTypes.Poco: _queues.Add(queue.Queue, _queueContainer.Value.CreateProducer <SimpleMessage>(queue)); break; case ConsumerQueueTypes.Method: _queues.Add(queue.Queue, _queueContainer.Value.CreateMethodProducer(queue)); break; } } }
private void CreateModuleIfNeeded(string queueName, ConsumerQueueTypes type) { if (!_queues.ContainsKey(queueName)) { switch (type) { case ConsumerQueueTypes.Poco: _queues.Add(queueName, _queueContainer.Value.CreateProducer <SimpleMessage>(new QueueConnection(queueName, ConfigurationManager.AppSettings["Connection"]))); break; case ConsumerQueueTypes.Method: _queues.Add(queueName, _queueContainer.Value.CreateMethodProducer(new QueueConnection(queueName, ConfigurationManager.AppSettings["Connection"]))); break; } } }
private void CreateModuleIfNeeded(string queueName, ConsumerQueueTypes type) { if (!_queues.ContainsKey(queueName)) { switch (type) { case ConsumerQueueTypes.Poco: _queues.Add(queueName, _queueContainer.Value.CreateProducer <SimpleMessage>(queueName, ConfigurationManager.AppSettings["Connection"])); break; case ConsumerQueueTypes.Method: _queues.Add(queueName, _queueContainer.Value.CreateMethodProducer(queueName, ConfigurationManager.AppSettings["Connection"])); break; } QueueStatus?.AddStatusProvider(QueueStatusContainer.Value.CreateStatusProvider <SqlServerMessageQueueInit>(queueName, ConfigurationManager.AppSettings["Connection"])); } }
protected void CreateModuleIfNeeded(string queueName, ConsumerQueueTypes type) { if (Queues.ContainsKey(queueName)) { return; } switch (type) { case ConsumerQueueTypes.Poco: Queues.Add(queueName, _queueContainer.Value.CreateConsumer(new QueueConnection(queueName, ConfigurationManager.AppSettings["Connection"]))); break; case ConsumerQueueTypes.Method: Queues.Add(queueName, _queueContainer.Value.CreateMethodConsumer(new QueueConnection(queueName, ConfigurationManager.AppSettings["Connection"]), x => { })); break; } }
private void CreateModuleIfNeeded(string queueName, ConsumerQueueTypes type) { if (_queues.ContainsKey(queueName)) { return; } var connection = ConfigurationManager.AppSettings["Connection"]; switch (type) { case ConsumerQueueTypes.Poco: _queues.Add(queueName, _queueContainer.Value.CreateRpc <SimpleResponse, SimpleMessage, RedisQueueRpcConnection>( new RedisQueueRpcConnection(connection, queueName))); break; case ConsumerQueueTypes.Method: _queues.Add(queueName, _queueContainer.Value.CreateMethodRpc( new RedisQueueRpcConnection(connection, queueName))); break; } QueueStatus?.AddStatusProvider(QueueStatusContainer.Value.CreateStatusProvider <RedisQueueInit>(queueName, connection)); }
private void CreateModuleIfNeeded(string queueNameReceive, string queueNameResponse, ConsumerQueueTypes type) { if (!_queues.ContainsKey(queueNameReceive)) { var connection = ConfigurationManager.AppSettings["Connection"]; switch (type) { case ConsumerQueueTypes.Poco: _queues.Add(queueNameReceive, _queueContainer.Value.CreateRpc<SimpleResponse, SimpleMessage, SqLiteRpcConnection>( new SqLiteRpcConnection(connection, queueNameReceive, connection, queueNameResponse))); break; case ConsumerQueueTypes.Method: _queues.Add(queueNameReceive, _queueContainer.Value.CreateMethodRpc( new SqLiteRpcConnection(connection, queueNameReceive, connection, queueNameResponse))); break; } QueueStatus?.AddStatusProvider(QueueStatusContainer.Value.CreateStatusProvider<SqLiteMessageQueueInit>(queueNameReceive, connection)); QueueStatus?.AddStatusProvider(QueueStatusContainer.Value.CreateStatusProvider<SqLiteMessageQueueInit>(queueNameResponse, connection)); } }
private void CreateModuleIfNeeded(string queueName, ConsumerQueueTypes type) { if (!_queues.ContainsKey(queueName)) { switch (type) { case ConsumerQueueTypes.Poco: _queues.Add(queueName, _queueContainer.Value.CreateProducer<SimpleMessage>(queueName, ConfigurationManager.AppSettings["Connection"])); break; case ConsumerQueueTypes.Method: _queues.Add(queueName, _queueContainer.Value.CreateMethodProducer(queueName, ConfigurationManager.AppSettings["Connection"])); break; } QueueStatus?.AddStatusProvider(QueueStatusContainer.Value.CreateStatusProvider<SqlServerMessageQueueInit>(queueName, ConfigurationManager.AppSettings["Connection"])); } }
public ConsoleExecuteResult AddWorkGroup(QueueConnection queueConnection, ConsumerQueueTypes type, string workGroupName, int concurrencyLevel, int maxQueueSize = 0) { CreateModuleIfNeeded(queueConnection, type, workGroupName, concurrencyLevel, maxQueueSize); return(new ConsoleExecuteResult($"Added workgroup {workGroupName} for queue {queueConnection.Queue}")); }
private void CreateModuleIfNeeded(string queueNameReceive, string queueNameResponse, ConsumerQueueTypes type) { if (!_queues.ContainsKey(queueNameReceive)) { var connection = ConfigurationManager.AppSettings["Connection"]; switch (type) { case ConsumerQueueTypes.Poco: _queues.Add(queueNameReceive, _queueContainer.Value.CreateRpc <SimpleResponse, SimpleMessage, SqLiteRpcConnection>( new SqLiteRpcConnection(connection, queueNameReceive, connection, queueNameResponse, new DbDataSource()))); break; case ConsumerQueueTypes.Method: _queues.Add(queueNameReceive, _queueContainer.Value.CreateMethodRpc( new SqLiteRpcConnection(connection, queueNameReceive, connection, queueNameResponse, new DbDataSource()))); break; } QueueStatus?.AddStatusProvider(QueueStatusContainer.Value.CreateStatusProvider <SqLiteMessageQueueInit>(queueNameReceive, connection)); QueueStatus?.AddStatusProvider(QueueStatusContainer.Value.CreateStatusProvider <SqLiteMessageQueueInit>(queueNameResponse, connection)); } }