private void ProcessResourceMsgHandler(ProcessResourceMsg msg) { _logger.Info( $"ProcessResourceMsgHandler for {msg.Resource} Epoch={msg.Resource.Content?.MatchStatus}{(msg.Resource.IsMatchOver ? $" isMatchOver=true": "")}"); if (msg.Resource.Content == null) { _logger.Info($"ProcessResourceMsgHandler for {msg.Resource} content=NULL terminating"); return; } IActorRef streamListenerActor = Context.Child(StreamListenerActor.GetName(msg.Resource.Id)); if (streamListenerActor.IsNobody()) { var fixtureState = GetFixtureState(msg.Resource); if (fixtureState != null && fixtureState.Sequence > msg.Resource.Content.Sequence) { _logger.Info($"ProcessResourceMsgHandler for {msg.Resource} message is too old: messageSequence={msg.Resource.Content.Sequence} stateSequence={fixtureState.Sequence} terminating"); return; } _logger.Info( $"Stream listener for {msg.Resource} doesn't exist. Going to trigger creation."); _streamListenerBuilderActorRef.Tell(new CreateStreamListenerMsg { Resource = msg.Resource }); } else { _logger.Info( $"Stream listener for {msg.Resource} already exists. Going to trigger stream health check."); streamListenerActor.Tell(new StreamHealthCheckMsg { Resource = msg.Resource, Time = DateTime.Now }); } }
private void ProcessResourceMsgHandler(ProcessResourceMsg msg) { _logger.Info( $"ProcessResourceMsgHandler for {msg.Resource} Epoch={msg.Resource.Content.MatchStatus}"); IActorRef streamListenerActor = Context.Child(StreamListenerActor.GetName(msg.Resource.Id)); if (streamListenerActor.IsNobody()) { _logger.Info( $"Stream listener for {msg.Resource} doesn't exist. Going to trigger creation."); _streamListenerBuilderActorRef.Tell(new CreateStreamListenerMsg { Resource = msg.Resource }); } else { _logger.Info( $"Stream listener for {msg.Resource} already exists. Going to trigger stream health check."); streamListenerActor.Tell(new StreamHealthCheckMsg { Resource = msg.Resource }); } }