public static TaskHubWorkerSettings CreateTestWorkerSettings(CompressionStyle style = CompressionStyle.Threshold) { var settings = new TaskHubWorkerSettings(); settings.TaskOrchestrationDispatcherSettings.CompressOrchestrationState = true; settings.MessageCompressionSettings = new CompressionSettings { Style = style, ThresholdInBytes = 1024 }; return(settings); }
public TaskHubWorker CreateTaskHubWorker(bool createInstanceStore = true) { TaskHubWorkerSettings workerSettings = getDefaultHubWorkerSettings(); if (createInstanceStore) { return(new TaskHubWorker(m_TaskHubName, m_ServiceBusConnectionString, m_StorageConnectionString, workerSettings)); } return(new TaskHubWorker(m_TaskHubName, m_ServiceBusConnectionString, workerSettings)); }
public static TaskHubWorker CreateTaskHubLegacyCompression(bool createInstanceStore = true) { TaskHubWorkerSettings workerSettings = CreateTestWorkerSettings(CompressionStyle.Legacy); if (createInstanceStore) { return(new TaskHubWorker(TaskHubName, ServiceBusConnectionString, StorageConnectionString, workerSettings)); } return(new TaskHubWorker(TaskHubName, ServiceBusConnectionString)); }
internal TaskHubWorkerSettings Clone() { var clonedSettings = new TaskHubWorkerSettings(); clonedSettings.TaskOrchestrationDispatcherSettings = TaskOrchestrationDispatcherSettings.Clone(); clonedSettings.TaskActivityDispatcherSettings = TaskActivityDispatcherSettings.Clone(); clonedSettings.TrackingDispatcherSettings = TrackingDispatcherSettings.Clone(); clonedSettings.MessageCompressionSettings = MessageCompressionSettings; return(clonedSettings); }
internal TaskHubWorkerSettings Clone() { var clonedSettings = new TaskHubWorkerSettings(); clonedSettings.TaskOrchestrationDispatcherSettings = TaskOrchestrationDispatcherSettings.Clone(); clonedSettings.TaskActivityDispatcherSettings = TaskActivityDispatcherSettings.Clone(); clonedSettings.TrackingDispatcherSettings = TrackingDispatcherSettings.Clone(); clonedSettings.MessageCompressionSettings = MessageCompressionSettings; return clonedSettings; }
private TaskHubWorkerSettings getDefaultHubWorkerSettings(CompressionStyle style = CompressionStyle.Threshold) { var settings = new TaskHubWorkerSettings(); settings.TaskOrchestrationDispatcherSettings.CompressOrchestrationState = true; settings.MessageCompressionSettings = new CompressionSettings { Style = style, ThresholdInBytes = 1024 }; // TODO? : //if (m_Services != null) // settings.Services = m_Services; return(settings); }
static void Main(string[] args) { string tableConnectionString = ConfigurationManager.AppSettings["StorageConnectionString"]; if (CommandLine.Parser.Default.ParseArgumentsStrict(args, options)) { string connectionString = ConfigurationManager.ConnectionStrings["Microsoft.ServiceBus.ConnectionString"].ConnectionString; string taskHubName = ConfigurationManager.AppSettings["TaskHubName"]; TaskHubClient taskHubClient = new TaskHubClient(taskHubName, connectionString, tableConnectionString); TaskHubWorkerSettings settings = new TaskHubWorkerSettings(); settings.TaskOrchestrationDispatcherSettings.CompressOrchestrationState = bool.Parse(ConfigurationManager.AppSettings["CompressOrchestrationState"]); settings.TaskActivityDispatcherSettings.MaxConcurrentActivities = int.Parse(ConfigurationManager.AppSettings["MaxConcurrentActivities"]); settings.TaskOrchestrationDispatcherSettings.MaxConcurrentOrchestrations = int.Parse(ConfigurationManager.AppSettings["MaxConcurrentOrchestrations"]); TaskHubWorker taskHub = new TaskHubWorker(taskHubName, connectionString, tableConnectionString, settings); if (options.CreateHub) { taskHub.CreateHub(); } OrchestrationInstance instance = null; string instanceId = options.StartInstance; if (!string.IsNullOrWhiteSpace(instanceId)) { instance = taskHubClient.CreateOrchestrationInstance(typeof(DriverOrchestration), instanceId, new DriverOrchestrationData { NumberOfIteration = int.Parse(ConfigurationManager.AppSettings["DriverOrchestrationIterations"]), NumberOfParallelTasks = int.Parse(ConfigurationManager.AppSettings["DriverOrchestrationParallelTasks"]), SubOrchestrationData = new TestOrchestrationData { NumberOfParallelTasks = int.Parse(ConfigurationManager.AppSettings["ChildOrchestrationParallelTasks"]), NumberOfSerialTasks = int.Parse(ConfigurationManager.AppSettings["ChildOrchestrationSerialTasks"]), MaxDelayInSeconds = int.Parse(ConfigurationManager.AppSettings["TestTaskMaxDelayInMinutes"]), }, }); } else { instance = new OrchestrationInstance { InstanceId = options.InstanceId }; } Stopwatch stopWatch = new Stopwatch(); stopWatch.Start(); TestTask testTask = new TestTask(); taskHub.AddTaskActivities(testTask); taskHub.AddTaskOrchestrations(typeof(DriverOrchestration)); taskHub.AddTaskOrchestrations(typeof(TestOrchestration)); taskHub.Start(); int testTimeoutInSeconds = int.Parse(ConfigurationManager.AppSettings["TestTimeoutInSeconds"]); OrchestrationState state = WaitForInstance(taskHubClient, instance, testTimeoutInSeconds); stopWatch.Stop(); Console.WriteLine("Orchestration Status: " + state.OrchestrationStatus.ToString()); Console.WriteLine("Orchestration Result: " + state.Output); Console.WriteLine("Counter: " + testTask.counter); TimeSpan totalTime = stopWatch.Elapsed; string elapsedTime = String.Format("{0:00}:{1:00}:{2:00}.{3:00}", totalTime.Hours, totalTime.Minutes, totalTime.Seconds, totalTime.Milliseconds / 10); Console.WriteLine("Total Time: " + elapsedTime); taskHub.Stop(); } }