private void manager_OnError(object sender, JobErrorEventArgs e) { if (e.Job.State == JobState.Cancelled) { return; } }
void manager_OnError(object sender, JobErrorEventArgs e) { Manager manager = (Manager)sender; if (e.Job.State == JobState.TransientError) { // just log this and ignore it log.WriteLog("Transient Transfer Error (ignored): " + e.Error.Description); } else { switch (e.Error.Context) { case ErrorContext.GeneralQueueManager: break; case ErrorContext.GeneralTransport: break; case ErrorContext.LocalFile: break; case ErrorContext.None: break; case ErrorContext.QueueManagerNotification: break; case ErrorContext.RemoteFile: break; case ErrorContext.Unknown: break; default: break; } log.WriteLog("Serious Transfer Error: " + e.Error.Description); e.Job.Cancel(); } JobUpdateText(e.Job); }
/// <summary> /// Raises the boostraper's Error event. /// </summary> /// <param name="sender">The event sender.</param> /// <param name="e">The event arguments.</param> private static void BootstrapsError(object sender, JobErrorEventArgs e) { if (!String.IsNullOrEmpty(e.Record.Name) && !String.IsNullOrEmpty(e.Record.Exception)) { var element = ExceptionXElement.Parse(e.Record.Exception); string message = element.Descendants("Message").First().Value; string stackTrace = element.Descendants("StackTrace").First().Value; logger.Error(CultureInfo.InvariantCulture, "An error occurred during the run loop for '{0}' ({1}). The message received was: '{2}'", e.Record.Name, e.Record.Id, message); logger.Error(stackTrace); } else if (!String.IsNullOrEmpty(e.Record.Name)) { logger.Error(CultureInfo.InvariantCulture, "An error occurred during the run loop for '{0}' ({1}).", e.Record.Name, e.Record.Id); } else if (e.Exception != null) { logger.Error(CultureInfo.InvariantCulture, "An error occurred during the run loop. The message received was: '{0}'", e.Exception.Message); logger.Error(e.Exception.StackTrace); } else { logger.Error("An unspecified error occurred during the run loop."); } }
/// <summary> /// Raises the proxy's Error event. /// </summary> /// <param name="sender">The event sender.</param> /// <param name="e">The event arguments.</param> private void ProxyError(object sender, JobErrorEventArgs e) { this.RaiseEvent(this.Error, e); }
/// <summary> /// Raises the job runner's Error event. /// </summary> /// <param name="sender">The evnt sender.</param> /// <param name="e">The event arguments.</param> private static void JobRunnerError(object sender, JobErrorEventArgs e) { if (!e.Record.JobType.StartsWith(JobRecord.JobTypeString(typeof(TestFailRetryJob)), StringComparison.Ordinal)) { if (e.Exception != null) { Assert.Fail(e.Exception.Message + "\n" + e.Exception.StackTrace); } Assert.Fail(Environment.StackTrace); } }