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); }
/// <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; }
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); }