示例#1
0
        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
                    ));
                }
            }
        }
示例#2
0
        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);
        }