void SetState(IEventProcessor eventProcessor, IEventEnvelope envelope, EventProcessingStatus processingStatus)
        {
            dynamic state = new ExpandoObject();

            state.EventProcessor = eventProcessor.Identifier;
            state.LastProcessedSequenceNumber             = envelope.SequenceNumber;
            state.LastProcessedSequenceNumberForEventType = envelope.SequenceNumberForEventType;
            state.LastProcessed        = _systemClock.GetCurrentTime();
            state.LastProcessingStatus = processingStatus;

            var json = _serializer.ToJson(state);

            _database.StringSet(GetKeyFor(eventProcessor), json);
        }
        void WriteState(IEventProcessor eventProcessor, IEventEnvelope envelope, EventProcessingStatus processingStatus)
        {
            dynamic state = new ExpandoObject();

            state.EventProcessor = eventProcessor.Identifier;
            state.LastProcessedSequenceNumber             = envelope.SequenceNumber;
            state.LastProcessedSequenceNumberForEventType = envelope.SequenceNumberForEventType;
            state.LastProcessed        = _systemClock.GetCurrentTime();
            state.LastProcessingStatus = processingStatus;

            var json     = _serializer.ToJson(state);
            var fileName = GetFileNameFor(eventProcessor);

            _files.WriteString(_configuration.Path, fileName, json);
        }
Beispiel #3
0
 /// <summary>
 /// Initializes a new instance of <see cref="EventProcessingResult"/>
 /// </summary>
 /// <param name="correlationId"><see cref="TransactionCorrelationId"/> the result is related to</param>
 /// <param name="eventProcessor"><see cref="IEventProcessor"/> the result is from</param>
 /// <param name="status"><see cref="EventProcessingStatus">Status</see> of the processing</param>
 /// <param name="start"><see cref="DateTimeOffset">Start time</see> of processing</param>
 /// <param name="end"><see cref="DateTimeOffset">End time</see> of processing</param>
 /// <param name="messages"><see cref="EventProcessingMessage">Messages</see> that occured during processing</param>
 public EventProcessingResult(
     TransactionCorrelationId correlationId,
     IEventProcessor eventProcessor,
     EventProcessingStatus status,
     DateTimeOffset start,
     DateTimeOffset end,
     IEnumerable <EventProcessingMessage> messages)
 {
     CorrelationId  = correlationId;
     EventProcessor = eventProcessor;
     Status         = status;
     Start          = start;
     End            = end;
     Messages       = messages;
 }
 /// <summary>
 /// Initializes a new instance of <see cref="EventProcessorState"/>
 /// </summary>
 /// <param name="eventProcessor"><see cref="IEventProcessor"/> the state is for</param>
 /// <param name="status"><see cref="EventProcessorStatus">Status</see> of the <see cref="IEventProcessor"/></param>
 /// <param name="lastProcessed">When processed last</param>
 /// <param name="lastProcessedSequenceNumber">Last <see cref="EventSequenceNumber"/></param>
 /// <param name="lastProcessedSequenceNumberForEventType">Last <see cref="EventSequenceNumber"/> for the <see cref="IEvent">event type</see></param>
 /// <param name="lastProcessingStatus"><see cref="EventProcessingStatus"/> of the processing</param>
 public EventProcessorState(
     IEventProcessor eventProcessor,
     EventProcessorStatus status,
     DateTimeOffset lastProcessed,
     EventSequenceNumber lastProcessedSequenceNumber,
     EventSequenceNumber lastProcessedSequenceNumberForEventType,
     EventProcessingStatus lastProcessingStatus)
 {
     Status         = status;
     EventProcessor = eventProcessor;
     LastProcessed  = lastProcessed;
     LastProcessedSequenceNumber             = lastProcessedSequenceNumber;
     LastProcessedSequenceNumberForEventType = lastProcessedSequenceNumberForEventType;
     LastProcessingStatus = lastProcessingStatus;
 }
Beispiel #5
0
        void WriteState(IEventProcessor eventProcessor, IEventEnvelope envelope, EventProcessingStatus processingStatus)
        {
            dynamic state = new ExpandoObject();

            state.EventProcessor = eventProcessor.Identifier;
            state.LastProcessedSequenceNumber             = envelope.SequenceNumber;
            state.LastProcessedSequenceNumberForEventType = envelope.SequenceNumberForEventType;
            state.LastProcessed        = _systemClock.GetCurrentTime();
            state.LastProcessingStatus = processingStatus;

            var json = _serializer.ToJson(state);
            var path = GetPathFor(eventProcessor);

            File.WriteAllText(path, json);
        }