Exemple #1
0
        async Task RunTestCase(bool compressed, LargeMessageMode handlingMode, QueueKind kind)
        {
            IContainer   container;
            IQueueReader reader;
            int          batchCount;
            var          queueSettings = new QueueLoggerSettings
            {
                CompressMessage = compressed,
                OverflowHanding = handlingMode
            };

            IActivityLogger logger;

            if (kind == QueueKind.ServiceBus)
            {
                container  = RegisterServiceBusContainer(out logger, queueSettings);
                reader     = new ServiceBusQueueReader(container.Resolve <QueueClient>(), queueSettings);
                batchCount = 1000;
            }
            else
            {
                container  = RegisterAzureQueueContainer(out logger, queueSettings);
                reader     = new AzureQueueReader(container.Resolve <CloudQueue>(), queueSettings);
                batchCount = 30;
            }
            await LogItems(logger, container, queueSettings, reader, batchCount);
        }
Exemple #2
0
        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();
        }