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); }