static ExecutionService.TaskDescription CreateLsTask(ulong taskId) { var task = new ExecutionService.TaskDescription() { UserId = "sm", WfId = "GunDDoSing", TaskId = taskId, Package = "ls", InputFiles = new ExecutionService.TaskFileDescription[] { new ExecutionService.TaskFileDescription() { SlotName = "in_file", FileName = "excluder.conf", StorageId = "0FPITTIR0W1HX947XFWQ", } }, ExecParams = String.IsNullOrEmpty(RESOURCE)? null: new Dictionary<string, string>() { {"Resource", RESOURCE} } }; return task; }
static ExecutionService.TaskDescription CreateDummyTask(ulong taskId) { var task = new ExecutionService.TaskDescription() { UserId = "sm", WfId = "GunDDoSing", TaskId = taskId, Package = "dummy", Params = new Dictionary<string,string>() { {"wait_time", "3000"}, } }; return task; }
static ExecutionService.TaskDescription CreateTestpTask(ulong taskId) { var task = new ExecutionService.TaskDescription() { UserId = "sm", WfId = "GunDDoSing", TaskId = taskId, Package = "testp", Params = new Dictionary<string, string>() { {"in0", rnd.Next(1, 100).ToString()}, {"in1", rnd.Next(1, 100).ToString()}, }, ExecParams = String.IsNullOrEmpty(RESOURCE)? null: new Dictionary<string, string>() { {"Resource", RESOURCE} } }; return task; }
const int WATCH_OUT = 10*1000; // maximum time to update in milliseconds #endregion Fields #region Methods static ExecutionService.TaskDescription[] GenerateTasks(System.Random rnd) { var resourcesService = new ResourceBaseService.ResourceBaseServiceClient(); string[] names = resourcesService.GetResourceNames().Where(name => name == "b14").ToArray(); List<string> allowedNames = new List<string>(); foreach (string name in names) { var res = resourcesService.GetResourceByName(name); if (res.Nodes.Any(n => n.Packages.Any(p => p.Name.ToLowerInvariant() == PACK_NAME.ToLowerInvariant()))) allowedNames.Add(name); } int nameIndex = rnd.Next(allowedNames.Count); string resourceName = allowedNames[nameIndex]; var executionService = new ExecutionService.ExecutionBrokerServiceClient(); ulong generatedTaskId = executionService.GetNewTaskId(); var tasks = new ExecutionService.TaskDescription[] { new ExecutionService.TaskDescription() { WfId = "Watchina", TaskId = generatedTaskId, UserId = "sm", LaunchMode = ExecutionService.TaskLaunchMode.Auto, ExecParams = new Dictionary<string,string>() { {"Resource", resourceName}, }, Package = "cnm", Params = new Dictionary<string,string>() { {"in_format", "short"}, }, InputFiles = new ExecutionService.TaskFileDescription[] { new ExecutionService.TaskFileDescription { StorageId = "cnm_60k_p32", FileName = "cnm.in", SlotName = "inDataFile" }, } }, new ExecutionService.TaskDescription() { WfId = "Watchina", TaskId = generatedTaskId, UserId = "sm", LaunchMode = ExecutionService.TaskLaunchMode.Auto, ExecParams = new Dictionary<string,string>() { {"Resource", resourceName}, }, Package = "testp", Method = "arithm", Params = new Dictionary<string,string>() { {"operation", "plus"}, }, InputFiles = new ExecutionService.TaskFileDescription[] { new ExecutionService.TaskFileDescription { StorageId = "number1", FileName = "my0.in", SlotName = "inf0" }, new ExecutionService.TaskFileDescription { StorageId = "number25", FileName = "my1.in", SlotName = "inf1" }, }, OutputFiles = new ExecutionService.TaskFileDescription[] { new ExecutionService.TaskFileDescription { StorageId = null, FileName = "out.txt", SlotName = "out_file" } } } }; var packTasks = tasks.Where(t => t.Package.ToLowerInvariant() == PACK_NAME.ToLowerInvariant()).ToArray(); return packTasks; }