public void Handle(ProjectionManagementMessage.Command.GetState message) { var command = new GetStateCommand { Name = message.Name, Partition = message.Partition, }; _writer.PublishCommand("$get-state", command); }
public void Handle(ProjectionManagementMessage.Command.GetState message) { if (!_started) { return; } var projection = GetProjection(message.Name); if (projection == null) { message.Envelope.ReplyWith(new ProjectionManagementMessage.NotFound()); } else { projection.Handle(message); } }
public void Handle(ProjectionManagementMessage.Command.GetState message) { _lastAccessed = _timeProvider.Now; if (_state >= ManagedProjectionState.Running) { _getStateDispatcher.Publish( new CoreProjectionManagementMessage.GetState(Guid.NewGuid(), Id, message.Partition, _workerId), m => message.Envelope.ReplyWith( new ProjectionManagementMessage.ProjectionState(_name, m.Partition, m.State, m.Position))); } else { message.Envelope.ReplyWith( new ProjectionManagementMessage.ProjectionState( message.Name, message.Partition, "*** UNKNOWN ***", position: null)); } }