Beispiel #1
0
        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;
        }
Beispiel #2
0
        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;
        }
Beispiel #3
0
        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;
        }
Beispiel #4
0
        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;
        }