private RawSchedulerEvent ExecuteAndGetEvent(Quartz2SchedulerEventSource source, Action <Quartz2SchedulerEventSource> action) { RawSchedulerEvent result = null; source.EventEmitted += (sender, args) => { result = args.Payload; }; action.Invoke(source); return(result); }
public SchedulerEvent Transform(int id, RawSchedulerEvent rawEvent) { JobResult jobResult = GetActualJobResult(rawEvent) ?? JobResult.Success; return(new SchedulerEvent( id, DateTime.UtcNow, rawEvent.Scope, rawEvent.EventType, rawEvent.ItemKey, rawEvent.FireInstanceId, jobResult.Faulted, TransformError(jobResult.Error))); }
private JobResult GetActualJobResult(RawSchedulerEvent rawEvent) { if (rawEvent.Error != null) { return(new JobResult(true, rawEvent.Error)); } if (_jobResultAnalyser != null) { var resultFromAnalyser = _jobResultAnalyser.Analyse(rawEvent.RawJobResult); if (resultFromAnalyser != null) { return(resultFromAnalyser); } } return(JobResult.Success); }
public void Push(RawSchedulerEvent @event) { int id = Interlocked.Increment(ref _previousId); _events.Enqueue(_eventsTransformer.Transform(id, @event)); //_events.Enqueue(new SchedulerEventData(id, @event, DateTime.UtcNow)); SchedulerEvent temp; while (_events.Count > _maxCapacity && _events.TryDequeue(out temp)) { } long now = DateTime.UtcNow.UnixTicks(); while (!_events.IsEmpty && _events.TryPeek(out temp) && now - temp.Date > _hubSpanMilliseconds && _events.TryDequeue(out temp)) { } }
public void RaiseEvent(RawSchedulerEvent @event) { _eventTarget.Push(@event); }
private void OnEventEmitted(RawSchedulerEvent payload) { EventEmitted?.Invoke(this, new SchedulerEventArgs(payload)); }
protected void RiseEvent(RawSchedulerEvent @event) { SchedulerHost.RaiseEvent(@event); }
public SchedulerEventArgs(RawSchedulerEvent payload) { Payload = payload; }