private void ExecuteSingleTask(ExecutionsScripts executionsScript) { Thread.Sleep(RandomNumber.Next(MIN_TIME, MAX_TIME) * 1000); if (RandomNumber.Next(0, 10) == 7) { throw new Exception("Error"); } }
public static List <ExecutionsScripts> GetExecutionsScriptses(List <Execution> executions, List <Script> scripts) { Random r = new Random(); var executionsScriptses = new List <ExecutionsScripts>(); executions.ForEach(execution => { int numberOfScripts = r.Next(1, 5); for (int i = 0; i < numberOfScripts; i++) { Script script; do { script = scripts[r.Next(1, scripts.Count)]; } while (executionsScriptses.Any(es => es.ScriptId == script.Id && es.ScriptVersion == script.Version && es.ExecutionId == execution.Id)); ExecutionsScripts executionsScripts = new ExecutionsScripts() { ExecutionId = execution.Id, ScriptId = script.Id, ScriptVersion = script.Version, Order = i + 1, Status = execution.Status }; if (executionsScripts.Status != Status.Waiting) { executionsScripts.SrartTime = DateTime.Now - TimeSpan.FromHours(r.Next(5, 999)); executionsScripts.EndTime = executionsScripts.SrartTime + TimeSpan.FromMinutes(r.Next(1, 20)); } executionsScriptses.Add(executionsScripts); } }); return(executionsScriptses); }