/// <summary>Job has completed</summary> private static void OnJobCompleted(object sender, JobCompleteArgs e) { if (e.exceptionThrowByJob != null) { errors += e.exceptionThrowByJob.ToString() + Environment.NewLine; } }
/// <summary>Called by a runner process to signal end of job</summary> /// <param name="sender">The sender</param> /// <param name="args">The command arguments</param> private void OnEndJob(object sender, SocketServer.CommandArgs args) { try { EndJobArguments arguments = args.obj as EndJobArguments; JobCompleteArgs jobCompleteArguments = new JobCompleteArgs(); jobCompleteArguments.job = runningJobs[arguments.key]; if (arguments.errorMessage != null) { jobCompleteArguments.exceptionThrowByJob = new Exception(arguments.errorMessage); } lock (this) { if (JobCompleted != null) { JobCompleted.Invoke(this, jobCompleteArguments); } runningJobs.Remove(arguments.key); } server.Send(args.socket, "OK"); } catch (Exception err) { errors += err.ToString() + Environment.NewLine; } }
/// <summary> /// Event handler for a job runner's <see cref="IJobRunner.AllJobsCompleted"/> event. /// Asserts that the job ran successfully. /// </summary> /// <param name="sender">Sender object.</param> /// <param name="args">Event arguments.</param> public static void EnsureJobRanGreen(object sender, JobCompleteArgs args) { if (args.exceptionThrowByJob != null) { throw new Exception(string.Format("Exception was thrown when running via {0}, when we expected no error to be thrown.", sender.GetType().Name), args.exceptionThrowByJob); } }
/// <summary>Job has completed</summary> private void OnJobCompleded(object sender, JobCompleteArgs e) { numSimulationsRun++; if (e.exceptionThrowByJob != null) { errors.Add(e.exceptionThrowByJob); } }
/// <summary>Job has completed</summary> private void OnJobCompleded(object sender, JobCompleteArgs e) { lock (this) { if (e.exceptionThrowByJob != null) { errors.Add(e.exceptionThrowByJob); } } }
/// <summary>Job has completed</summary> private void OnJobCompleded(object sender, JobCompleteArgs e) { lock (this) { if (e.job is RunSimulation) { numSimulationsRun++; } if (e.exceptionThrowByJob != null) { errors.Add(e.exceptionThrowByJob); } } }
/// <summary>Job has completed</summary> private static void OnJobCompleted(object sender, JobCompleteArgs e) { lock (errors) { if (e.exceptionThrowByJob != null) { if (e.exceptionThrowByJob is RunExternalException) { errors += e.exceptionThrowByJob.Message + Environment.NewLine + "----------------------------------------------" + Environment.NewLine; } else { errors += e.exceptionThrowByJob.ToString() + Environment.NewLine + "----------------------------------------------" + Environment.NewLine; } } } }
private void EnsureJobRanRed(object sender, JobCompleteArgs args) { Assert.NotNull(args.exceptionThrowByJob, "Simulation with a faulty manager script has run green."); }