public bool CreateRunner(PtiRunTask runTask) { if (string.IsNullOrWhiteSpace(runTask.PtiTasker.RunCmd)) { runTask.PtiTasker.RunCmd = runTask.PtiApp.DefaultRunCmd; } PtiRunner runner = new PtiRunner(runTask.PtiTasker, runTask.PtiApp); this.RunnerList.Add(runner); runTask.Runner = runner; return(true); }
public bool CreateAndStart(PtiRunTask runTask) { var _old = this.RunnerList.Where(r => r.TaskInfo._id == runTask.PtiTasker._id).FirstOrDefault(); if (!runTask.PtiTasker.MultiRunner && _old != null && _old?.State == ProcessState.RUNNING) { return(true); } this.CreateRunner(runTask); runTask.LastRunDate = DateTime.Now; runTask.PtiTasker.LastRunDate = runTask.LastRunDate; runTask.PtiTasker.TaskState = TaskState.RUNNING; runTask.PtiApp.LastRunDate = runTask.PtiTasker.LastRunDate; runTask.Logger = runTask.Runner.Logger; runTask.Runner.Run(); return(true); }