public override void Run() { // This is a sample worker implementation. Replace with your logic. Trace.TraceInformation("TestRequestSubmitter entry point called", "Information"); var tps = int.Parse(CloudConfigurationManager.GetSetting("TPS")); var totalTransactions = int.Parse(CloudConfigurationManager.GetSetting("TotalTransactions")); string instanceId = RoleEnvironment.CurrentRoleInstance.Id; string storageConnectionString = CloudConfigurationManager.GetSetting("StorageConnectionString"); var serviceUri = new Uri(CloudConfigurationManager.GetSetting("ServiceUri")); Task webApiSubmitterTask = TestWebApiSubmitter.StartRequestSubmitterAsync(serviceUri, storageConnectionString, instanceId + "-WebApi", tps, totalTransactions); string requestQueueName = CloudConfigurationManager.GetSetting("ServiceRequestQueue"); string responseQueueName = "response-queue-" + instanceId.ToLowerInvariant().Replace('_', '-'); Task queueSubmitterTask = TestServiceQueueSubmitter.StartRequestSubmitterAsync(storageConnectionString, requestQueueName, responseQueueName, tps, totalTransactions); try { Task.WhenAny(queueSubmitterTask, webApiSubmitterTask).Wait(); } catch (Exception exception) { TestRecorder.LogException(storageConnectionString, instanceId, exception); throw; } }
public override void Run() { // This is a sample worker implementation. Replace with your logic. Trace.TraceInformation("TestRequestProcessor entry point called", "Information"); string requestQueueName = CloudConfigurationManager.GetSetting("ServiceRequestQueue"); string storageConnectionString = CloudConfigurationManager.GetSetting("StorageConnectionString"); int messagesPerRequest = Int32.Parse(CloudConfigurationManager.GetSetting("MessagesPerRequest")); var requestTimeout = TimeSpan.FromSeconds(15); // if the request cannot be completed after this long, let someone else try var testWorker = new TestWorker(storageConnectionString, requestQueueName, requestTimeout, messagesPerRequest); try { Task processRequests = testWorker.ProcessRequestsAsync(); processRequests.Wait(); // should never return } catch (Exception ex) { TestRecorder.LogException(storageConnectionString, RoleEnvironment.CurrentRoleInstance.Id, ex); throw; } }