public void Execute(IJobExecutionContext context) { var raw = context.JobDetail; var trigger = context.Trigger; _log.Info($"[JobId={raw.Key}] [ScheduleId={trigger.Key}] [MessageText=Started executing job ({raw.Description}) on schedule ({trigger.Description}).]"); _timer.Start(); try { var job = _converter.For(raw); AddHeaders(job); SetTimeout(job); switch (job.HttpVerb) { case HttpVerb.Post: Post(job); break; case HttpVerb.Put: Put(job); break; case HttpVerb.Delete: Delete(job); break; default: throw new HttpVerbNotSupported(job); } } catch (Exception e) { var failure = new JobFailedDuringExecution(e, raw, trigger); _log.Error(failure); throw failure; } _log.Info($"[JobId={raw.Key}] [ScheduleId={trigger.Key}] [TimeTaken={_timer.Elapsed}] [MessageText=Finished executing job ({raw.Description}) on schedule ({trigger.Description}).]"); }
private Job Convert(IJobDetail job) { try { return(_converter.For(job)); } catch (Exception e) { var message = $"Failed to convert job {job.Key}."; if (_log.IsWarnEnabled) { _log.Warn(message, e); } else { _log.Debug(message, e); } return(null); } }
public TestContext Act() { _result = _sut.For(_job); return(this); }