static void LaunchThemAll(object taskIdsAsObjects) { ulong[] taskIds = (ulong[]) taskIdsAsObjects; rnd = rnd ?? new System.Random(); for (int i=0; i < taskIds.Length; i++) { using (var service = new ExecutionService.ExecutionBrokerServiceClient()) { ulong taskId = taskIds[i]; var taskToLaunch = TaskGenFunc(taskId); service.DefineTask(taskToLaunch); service.Execute(new ulong[] { taskId }); Thread.Sleep(rnd.Next( (int) MIN_SLEEP_TIME_AFTER_LAUNCH.TotalMilliseconds, (int) MAX_SLEEP_TIME_AFTER_LAUNCH.TotalMilliseconds )); } } }
static void Main(string[] args) { var rnd = new System.Random(); for (int iterNum = 0; MAX_LAUNCHES < 0 || iterNum < MAX_LAUNCHES; iterNum++) { try { using (var service = new ExecutionService.ExecutionBrokerServiceClient()) { while (true) { var tasks = GenerateTasks(rnd); foreach (var task in tasks) service.DefineTask(task); service.Execute(tasks.Select(t => t.TaskId).ToArray()); Console.WriteLine( DateTime.Now.ToString(TIME_FORMAT) + String.Join(", ", tasks.Select(t => t.TaskId + " on " + t.ExecParams["Resource"])) ); if (MAX_LAUNCHES < 0 && (iterNum % 10 == 0)) GetStatistics(CSV_PATH); Thread.Sleep(rnd.Next(WATCH_IN, WATCH_OUT)); } } } catch (Exception e) { Console.WriteLine(e.Message); Thread.Sleep(5000); } } GetStatistics(CSV_PATH); }