private async Task ProcessJob(JobDto job) { var clientContainer = await HelperMethods.GetJobContainer(job.ClientId); CloudBlockBlob jobBlob = clientContainer.GetBlockBlobReference("job/" + job.JobId); var name = jobBlob.DownloadText(); var result = Compliments.GetRandomCompliment(name); CloudBlockBlob resultBlob = clientContainer.GetBlockBlobReference("result/" + job.JobId); resultBlob.UploadText(result); }
private async Task<JobDto> ListenToJobQueue() { while (true) { // Long Polling var message = await this.jobQueue.ReceiveAsync(TimeSpan.FromSeconds(5)); if (message != null) { JobDto job = new JobDto(); job.ClientId = message.Properties["ClientId"].ToString(); job.JobId = message.GetBody<string>(); await message.CompleteAsync(); return job; } } }
private async Task AddMessageToResponseTopic(JobDto job) { var message = new BrokeredMessage(job.JobId); message.Properties["ClientId"] = job.ClientId; await this.responseTopic.SendAsync(message); }
private async Task AddMessageToResponseTopic(JobDto job) { var responseQueue = QueueClient.CreateFromConnectionString(this.serviceBusConnectionString, job.ClientId); var message = new BrokeredMessage(job.JobId); await responseQueue.SendAsync(message); }