static void Main(string[] args) { var paras = ResolveArguments(args); // 分割作业为不同的任务 if (paras.ContainsKey("-d")) { var jobSpacePath = paras["-jp"]; var jobConfigPath = Path.Combine(jobSpacePath, "job.json"); var jobConfigJson = File.ReadAllText(jobConfigPath, Encoding.UTF8); var jobWrapper = JobBase.Deserialize(jobConfigJson, null); var demoJob = CreateJobInstance(jobWrapper.JobClassName, jobWrapper); demoJob.GenerateTasks(); } // 处理任务 if (paras.ContainsKey("-p")) { if (!paras.ContainsKey("-t")) { Console.Write("缺少任务Id"); return; } var taskId = paras["-t"]; var jobSpacePath = paras["-jp"]; // 读取作业配置,创建当前作业的实例 var jobConfigPath = Path.Combine(jobSpacePath, "job.json"); var jobConfigJson = File.ReadAllText(jobConfigPath, Encoding.UTF8); var jobWrapper = JobBase.Deserialize(jobConfigJson, null); var demoJob = CreateJobInstance(jobWrapper.JobClassName, jobWrapper); // 读取任务配置,创建当前任务的实例 var taskConfigPath = Path.Combine(jobSpacePath, "tasks", taskId, "task.json"); var task = JobTask.CreateInstance(taskConfigPath); task.Job = jobWrapper; task.LoadRequirement(); demoJob.PerformTask(task); } // 合并任务 if (paras.ContainsKey("-m")) { // 读取作业配置,创建当前作业的实例 var jobSpacePath = paras["-jp"]; var jobConfigPath = Path.Combine(jobSpacePath, "job.json"); var jobConfigJson = File.ReadAllText(jobConfigPath, Encoding.UTF8); var jobWrapper = JobBase.Deserialize(jobConfigJson, null); var demoJob = CreateJobInstance(jobWrapper.JobClassName, jobWrapper); demoJob.CollectTaskResults(); } }