public void Listen()
        {
            Console.WriteLine("Thumbnail listener started listen:");
            while (true)
            {
                // Get message frim queue; message will be invisible for 5 seconds
                //CloudQueueMessage message = Queue.GetMessage(new TimeSpan(0, 0, 10));
                var messages = Queue.GetMessages(32);

                Parallel.ForEach(messages, message =>
                {
                    FileIdBlobModel fileIdBlob = JsonConvert.DeserializeObject <FileIdBlobModel>(message.AsString);

                    Console.WriteLine(message.AsString);
                    try
                    {
                        var thumbnailLink = CreateThumbnailAsync(fileIdBlob.BlobLink).Result;
                        Queue.DeleteMessage(message);

                        UpdateFileSystem(fileIdBlob.FileId, thumbnailLink);
                    }
                    catch (Exception ex)
                    {
                    }
                });
            }
        }
        public void PutMessageRequestForThumbnail(int id, string blobUri)
        {
            var queue = GetQueueReference(QueueNameForThumbnails);

            FileIdBlobModel file = new FileIdBlobModel()
            {
                FileId = id, BlobLink = blobUri
            };

            string            fileJson        = JsonConvert.SerializeObject(file, Formatting.Indented);
            CloudQueueMessage messageBlobFile = new CloudQueueMessage(fileJson);

            queue.AddMessage(messageBlobFile);
        }