Ejemplo n.º 1
0
        public KeepAliveMessageHandle(T message, IQueueStorageProvider storage, TimeSpan keepAliveAfter, TimeSpan keepAlivePeriod)
        {
            _storage = storage;
            Message  = message;

            _timer = new Timer(state => _storage.KeepAlive(Message), null, keepAliveAfter, keepAlivePeriod);
        }
 /// <summary>
 /// Initializes a new instance of the <see cref="CloudStorageProviders"/> class.
 /// </summary>
 /// <param name="blobStorage">
 /// The BLOB storage. 
 /// </param>
 /// <param name="queueStorage">
 /// The queue storage. 
 /// </param>
 /// <param name="tableStorage">
 /// The table storage. 
 /// </param>
 /// <remarks>
 /// </remarks>
 public CloudStorageProviders(
     IBlobStorageProvider blobStorage, IQueueStorageProvider queueStorage, ITableStorageProvider tableStorage)
 {
     this.BlobStorage = blobStorage;
     this.QueueStorage = queueStorage;
     this.TableStorage = tableStorage;
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="CloudStorageProviders"/> class.
 /// </summary>
 /// <param name="blobStorage">The blob storage provider.</param>
 /// <param name="queueStorage">The queue storage provider.</param>
 /// <param name="tableStorage">The table storage provider.</param>
 public CloudStorageProviders(
     IBlobStorageProvider blobStorage,
     IQueueStorageProvider queueStorage,
     ITableStorageProvider tableStorage)
 {
     BlobStorage  = blobStorage;
     QueueStorage = queueStorage;
     TableStorage = tableStorage;
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="CloudStorageProviders"/> class.
 /// </summary>
 /// <param name="blobStorage">The blob storage provider.</param>
 /// <param name="queueStorage">The queue storage provider.</param>
 /// <param name="tableStorage">The table storage provider.</param>
 public CloudStorageProviders(
     IBlobStorageProvider blobStorage,
     IQueueStorageProvider queueStorage,
     ITableStorageProvider tableStorage)
 {
     BlobStorage = blobStorage;
     QueueStorage = queueStorage;
     TableStorage = tableStorage;
 }
Ejemplo n.º 5
0
 /// <summary>IoC constructor.</summary>
 public RuntimeProviders(
     IBlobStorageProvider blobStorage,
     IQueueStorageProvider queueStorage,
     ITableStorageProvider tableStorage,
     ILog log)
 {
     BlobStorage = blobStorage;
     QueueStorage = queueStorage;
     TableStorage = tableStorage;
     Log = log;
 }
Ejemplo n.º 6
0
 /// <summary>IoC constructor.</summary>
 public RuntimeProviders(
     IBlobStorageProvider blobStorage,
     IQueueStorageProvider queueStorage,
     ITableStorageProvider tableStorage,
     ILog log)
 {
     BlobStorage  = blobStorage;
     QueueStorage = queueStorage;
     TableStorage = tableStorage;
     Log          = log;
 }
Ejemplo n.º 7
0
        public static KeepAliveMessageHandle <T> GetResilient <T>(this IQueueStorageProvider provider, string queueName, TimeSpan keepAliveAfter, int maxProcessingTrials)
            where T : class
        {
            var messages = provider.Get <T>(queueName, 1, keepAliveAfter + TimeSpan.FromSeconds(30), maxProcessingTrials).ToList();

            if (messages.Count == 0)
            {
                return(null);
            }

            return(new KeepAliveMessageHandle <T>(messages[0], provider, keepAliveAfter, TimeSpan.FromSeconds(30)));
        }
Ejemplo n.º 8
0
 /// <summary>IoC constructor.</summary>
 public RuntimeProviders(
     IBlobStorageProvider blobStorage,
     IQueueStorageProvider queueStorage,
     ITableStorageProvider tableStorage,
     IRuntimeFinalizer runtimeFinalizer,
     Storage.Shared.Logging.ILog log)
 {
     BlobStorage = blobStorage;
     QueueStorage = queueStorage;
     TableStorage = tableStorage;
     RuntimeFinalizer = runtimeFinalizer;
     Log = log;
 }
Ejemplo n.º 9
0
        /// <summary>Initializes a new instance of the <see cref="T:MapReduceBlobSet"/> generic class.</summary>
        /// <param name="blobStorage">The blob storage provider.</param>
        /// <param name="queueStorage">The queue storage provider.</param>
        public MapReduceBlobSet(IBlobStorageProvider blobStorage, IQueueStorageProvider queueStorage)
        {
            if (null == blobStorage)
            {
                throw new ArgumentNullException("blobStorage");
            }
            if (null == queueStorage)
            {
                throw new ArgumentNullException("queueStorage");
            }

            _blobStorage  = blobStorage;
            _queueStorage = queueStorage;
        }
Ejemplo n.º 10
0
        /// <summary>Initializes a new instance of the
        /// <see cref="T:MapReduceJob{TMapIn,TMapOut,TReduceOut}"/> generic class.</summary>
        /// <param name="blobStorage">The blob storage provider.</param>
        /// <param name="queueStorage">The queue storage provider.</param>
        public MapReduceJob(IBlobStorageProvider blobStorage, IQueueStorageProvider queueStorage)
        {
            if (null == blobStorage)
            {
                throw new ArgumentNullException("blobStorage");
            }
            if (null == queueStorage)
            {
                throw new ArgumentNullException("queueStorage");
            }

            _jobName      = Guid.NewGuid().ToString("N");
            _blobStorage  = blobStorage;
            _queueStorage = queueStorage;
        }
		/// <summary>IoC constructor.</summary>
		public CloudInfrastructureProviders(
			IBlobStorageProvider blobStorage, 
			IQueueStorageProvider queueStorage,
			ITableStorageProvider tableStorage,
			ILog log,
			IProvisioningProvider provisioning,
			IRuntimeFinalizer runtimeFinalizer)
		{
			BlobStorage = blobStorage;
			QueueStorage = queueStorage;
			TableStorage = tableStorage;
			Log = log;
			Provisioning = provisioning;
			RuntimeFinalizer = runtimeFinalizer;
		}
 /// <summary>IoC constructor.</summary>
 public CloudStorageProviders(
     IBlobStorageProvider blobStorage,
     IQueueStorageProvider queueStorage,
     ITableStorageProvider tableStorage,
     IBlobStorageProvider neutralBlobStorage,
     IQueueStorageProvider neutralQueueStorage,
     ITableStorageProvider neutralTableStorage,
     IBlobStorageProvider rawBlobStorage,
     IRuntimeFinalizer runtimeFinalizer = null)
 {
     BlobStorage = blobStorage;
     QueueStorage = queueStorage;
     TableStorage = tableStorage;
     NeutralBlobStorage = neutralBlobStorage;
     NeutralQueueStorage = neutralQueueStorage;
     NeutralTableStorage = neutralTableStorage;
     RawBlobStorage = rawBlobStorage;
     RuntimeFinalizer = runtimeFinalizer;
 }
Ejemplo n.º 13
0
        /// <summary>Initializes a new instance of the
        /// <see cref="T:MapReduceJob{TMapIn,TMapOut,TReduceOut}"/> generic class.</summary>
        /// <param name="jobId">The ID of the job as previously returned by <see cref="M:PushItems"/>.</param>
        /// <param name="blobStorage">The blob storage provider.</param>
        /// <param name="queueStorage">The queue storage provider.</param>
        public MapReduceJob(string jobId, IBlobStorageProvider blobStorage, IQueueStorageProvider queueStorage)
        {
            if (null == jobId)
            {
                throw new ArgumentNullException("jobId");
            }
            if (null == blobStorage)
            {
                throw new ArgumentNullException("blobStorage");
            }
            if (null == queueStorage)
            {
                throw new ArgumentNullException("queueStorage");
            }

            _jobName      = jobId;
            _itemsPushed  = true;
            _blobStorage  = blobStorage;
            _queueStorage = queueStorage;
        }
Ejemplo n.º 14
0
 public static KeepAliveMessageHandle <T> GetResilient <T>(this IQueueStorageProvider provider)
     where T : class
 {
     return(GetResilient <T>(provider, GetDefaultStorageName(typeof(T)), TimeSpan.FromSeconds(90), 5));
 }
Ejemplo n.º 15
0
 /// <summary>Put a message on a queue (derived from the message type T).</summary>
 public static void Put <T>(this IQueueStorageProvider provider, T message)
 {
     provider.Put(GetDefaultStorageName(typeof(T)), message);
 }
Ejemplo n.º 16
0
 /// <summary>Put a message on a queue (derived from the message type T), but keep it invisible for a delay.</summary>
 public static void PutWithDelay <T>(this IQueueStorageProvider provider, T message, TimeSpan delay)
 {
     provider.Put(GetDefaultStorageName(typeof(T)), message, delay: delay);
 }
Ejemplo n.º 17
0
 /// <summary>Gets messages from a queue with a visibility timeout of 2 hours.</summary>
 /// <typeparam name="T">Type of the messages.</typeparam>
 /// <param name="provider">Queue storage provider.</param>
 /// <param name="queueName">Identifier of the queue to be pulled.</param>
 /// <param name="count">Maximal number of messages to be retrieved.</param>
 /// <param name="maxProcessingTrials">
 /// Maximum number of message processing trials, before the message is considered as
 /// being poisonous, removed from the queue and persisted to the 'failing-messages' store.
 /// </param>
 /// <returns>Enumeration of messages, possibly empty.</returns>
 public static IEnumerable <T> Get <T>(this IQueueStorageProvider provider, string queueName, int count, int maxProcessingTrials)
 {
     return(provider.Get <T>(queueName, count, new TimeSpan(2, 0, 0), maxProcessingTrials));
 }
Ejemplo n.º 18
0
 /// <summary>Gets messages from a queue (derived from the message type T) with a visibility timeout of 2 hours.</summary>
 /// <typeparam name="T">Type of the messages.</typeparam>
 /// <param name="provider">Queue storage provider.</param>
 /// <param name="count">Maximal number of messages to be retrieved.</param>
 /// <param name="maxProcessingTrials">
 /// Maximum number of message processing trials, before the message is considered as
 /// being poisonous, removed from the queue and persisted to the 'failing-messages' store.
 /// </param>
 /// <returns>Enumeration of messages, possibly empty.</returns>
 public static IEnumerable <T> Get <T>(this IQueueStorageProvider provider, int count, int maxProcessingTrials)
 {
     return(provider.Get <T>(GetDefaultStorageName(typeof(T)), count, new TimeSpan(2, 0, 0), maxProcessingTrials));
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="QueueStorageTests"/> class.
 /// </summary>
 /// <param name="storage">
 /// The storage. 
 /// </param>
 /// <remarks>
 /// </remarks>
 protected QueueStorageTests(CloudStorageProviders storage)
 {
     this.QueueStorage = storage.QueueStorage;
     this.BlobStorage = storage.BlobStorage;
 }
Ejemplo n.º 20
0
 /// <summary>Gets the approximate age of the top message in a queue (derived from the message type T).</summary>
 public static Maybe <TimeSpan> GetApproximateLatency <T>(this IQueueStorageProvider provider)
 {
     return(provider.GetApproximateLatency(GetDefaultStorageName(typeof(T))));
 }
Ejemplo n.º 21
0
 /// <summary>Put messages on a queue (derived from the message type T).</summary>
 /// <typeparam name="T">Type of the messages.</typeparam>
 /// <param name="messages">Messages to be put.</param>
 /// <remarks>If the queue does not exist, it gets created.</remarks>
 public static void PutRangeParallel <T>(this IQueueStorageProvider provider, IEnumerable <T> messages)
 {
     provider.PutRangeParallel(GetDefaultStorageName(typeof(T)), messages);
 }
Ejemplo n.º 22
0
 public static KeepAliveMessageHandle <T> GetResilient <T>(this IQueueStorageProvider provider, TimeSpan keepAliveAfter, int maxProcessingTrials)
     where T : class
 {
     return(GetResilient <T>(provider, GetDefaultStorageName(typeof(T)), keepAliveAfter, maxProcessingTrials));
 }
Ejemplo n.º 23
0
 public static KeepAliveMessageHandle <T> GetResilient <T>(this IQueueStorageProvider provider, string queueName)
     where T : class
 {
     return(GetResilient <T>(provider, queueName, TimeSpan.FromSeconds(90), 5));
 }
Ejemplo n.º 24
0
 /// <summary>Clear all the messages from a queue (derived from the message type T).</summary>
 public static void Clear <T>(this IQueueStorageProvider provider)
 {
     provider.Clear(GetDefaultStorageName(typeof(T)));
 }
Ejemplo n.º 25
0
 /// <summary>Deletes a queue (derived from the message type T).</summary>
 /// <returns><c>true</c> if the queue name has been actually deleted.</returns>
 public static bool DeleteQueue <T>(this IQueueStorageProvider provider)
 {
     return(provider.DeleteQueue(GetDefaultStorageName(typeof(T))));
 }
 protected QueueStorageTests(CloudStorageProviders storage)
 {
     QueueStorage = storage.QueueStorage;
     BlobStorage  = storage.BlobStorage;
 }
Ejemplo n.º 27
0
 /// <summary>Gets the approximate number of items in a queue (derived from the message type T).</summary>
 public static int GetApproximateCount <T>(this IQueueStorageProvider provider)
 {
     return(provider.GetApproximateCount(GetDefaultStorageName(typeof(T))));
 }