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);
            }
        }
Exemple #3
0
 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));
     }
 }