private RawSchedulerEvent ExecuteAndGetEvent(Quartz2SchedulerEventSource source, Action <Quartz2SchedulerEventSource> action)
        {
            RawSchedulerEvent result = null;

            source.EventEmitted += (sender, args) => { result = args.Payload; };

            action.Invoke(source);

            return(result);
        }
Ejemplo n.º 2
0
        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)));
        }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
        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))
            {
            }
        }
Ejemplo n.º 5
0
 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);
 }
Ejemplo n.º 8
0
 public SchedulerEventArgs(RawSchedulerEvent payload)
 {
     Payload = payload;
 }