StatelessAzureQueueReader BuildIntake(string name) { var queue = _config.CreateQueueClient().GetQueueReference(name); var container = _config.CreateBlobClient().GetContainerReference(name); var poisonQueue = new Lazy <CloudQueue>(() => { var queueReference = _config.CreateQueueClient().GetQueueReference(name + "-poison"); queueReference.CreateIfNotExist(); return(queueReference); }, LazyThreadSafetyMode.ExecutionAndPublication); var reader = new StatelessAzureQueueReader(name, queue, container, poisonQueue, _observer, _streamer, _queueVisibilityTimeout); return(reader); }
StatelessAzureQueueReader BuildIntake(string name) { var queue = _config.CreateQueueClient().GetQueueReference(name); var container = _config.CreateBlobClient().GetContainerReference(name); var poisonQueue = new Lazy<CloudQueue>(() => { var queueReference = _config.CreateQueueClient().GetQueueReference(name + "-poison"); queueReference.CreateIfNotExist(); return queueReference; }, LazyThreadSafetyMode.ExecutionAndPublication); var reader = new StatelessAzureQueueReader(name, queue, container, poisonQueue, _observer, _streamer, _queueVisibilityTimeout); return reader; }
public void Setup() { _name = Guid.NewGuid().ToString().ToLowerInvariant(); CloudStorageAccount cloudStorageAccount = ConnectionConfig.StorageAccount; _cloudBlobClient = cloudStorageAccount.CreateCloudBlobClient(); var queue = cloudStorageAccount.CreateCloudQueueClient().GetQueueReference(_name); var container = _cloudBlobClient.GetBlobDirectoryReference(_name); _blobContainer = _cloudBlobClient.GetContainerReference(_name); var poisonQueue = new Lazy<CloudQueue>(() => { var queueReference = cloudStorageAccount.CreateCloudQueueClient().GetQueueReference(_name + "-poison"); queueReference.CreateIfNotExist(); return queueReference; }, LazyThreadSafetyMode.ExecutionAndPublication); _statelessReader = new StatelessAzureQueueReader("azure-read-write-message", queue, container, poisonQueue, TimeSpan.FromMinutes(1)); _queueReader = new AzureQueueReader(new[] { _statelessReader }, x => TimeSpan.FromMinutes(x)); _queueWriter = new StatelessAzureQueueWriter(_blobContainer, queue, "azure-read-write-message"); _queueWriter.Init(); }
static StatelessAzureQueueReader BuildIntake(IAzureStorageConfig cfg, string name, TimeSpan visibilityTimeout = default(TimeSpan)) { var timeout = visibilityTimeout == default(TimeSpan) ? TimeSpan.FromMinutes(5) : visibilityTimeout; var queue = cfg.CreateQueueClient().GetQueueReference(name); var container = cfg.CreateBlobClient().GetBlobDirectoryReference("queues-big").GetSubdirectory(name); var poisonQueue = new Lazy <CloudQueue>(() => { var queueReference = cfg.CreateQueueClient().GetQueueReference(name + "-poison"); queueReference.CreateIfNotExist(); return(queueReference); }, LazyThreadSafetyMode.ExecutionAndPublication); var reader = new StatelessAzureQueueReader(name, queue, container, poisonQueue, timeout); reader.InitIfNeeded(); return(reader); }
public void Setup() { _name = Guid.NewGuid().ToString().ToLowerInvariant(); CloudStorageAccount cloudStorageAccount = ConnectionConfig.StorageAccount; _cloudBlobClient = cloudStorageAccount.CreateCloudBlobClient(); var queue = cloudStorageAccount.CreateCloudQueueClient().GetQueueReference(_name); var container = _cloudBlobClient.GetBlobDirectoryReference(_name); _blobContainer = _cloudBlobClient.GetContainerReference(_name); var poisonQueue = new Lazy <CloudQueue>(() => { var queueReference = cloudStorageAccount.CreateCloudQueueClient().GetQueueReference(_name + "-poison"); queueReference.CreateIfNotExist(); return(queueReference); }, LazyThreadSafetyMode.ExecutionAndPublication); _statelessReader = new StatelessAzureQueueReader("azure-read-write-message", queue, container, poisonQueue, TimeSpan.FromMinutes(1)); _queueReader = new AzureQueueReader(new[] { _statelessReader }, x => TimeSpan.FromMinutes(x)); _queueWriter = new StatelessAzureQueueWriter(_blobContainer, queue, "azure-read-write-message"); _queueWriter.Init(); }
public AzurePartitionInbox(StatelessAzureQueueReader[] readers, Func<uint, TimeSpan> waiter) { _readers = readers; _waiter = waiter; }