public override void Run() { // This is a sample worker implementation. Replace with your logic. Trace.WriteLine("SuperReducer entry point called", "Information"); var queueFrases = new QueueFrases(); var queuePalavras = new QueuePalavras(); while (true) { var mensagem = queueFrases.ProximaFraseParaProcessar(); if (mensagem != null) { var fraseLetra = mensagem.AsString.Split(new[] {"@"}, StringSplitOptions.RemoveEmptyEntries); var frase = fraseLetra[FRASE_INDEX]; var letra = fraseLetra[LETRA_INDEX]; var palavras = frase.Split(new[] {" "}, StringSplitOptions.RemoveEmptyEntries); var identificador = fraseLetra[IDENTIFICADOR_INDEX]; foreach (var palavra in palavras) { queuePalavras.NovaPalavraParaProcessar(palavra, letra, identificador); } queueFrases.FraseProcessada(mensagem); } else { Thread.Sleep(30000); } Trace.WriteLine("Working", "Information"); } }
public override void Run() { Trace.WriteLine("SuperProcessador entry point called", "Information"); var queuePalavras = new QueuePalavras(); var tableResultado = new TableResultado(); while (true) { var mensagem = queuePalavras.ProximaPalavraParaProcessar(); if (mensagem != null) { var campos = mensagem.AsString.Split(new[] {"@"}, StringSplitOptions.RemoveEmptyEntries); var palavra = campos[0]; var letraParaContar = char.Parse(campos[1].Trim(new []{' '})); var identificador = campos[2]; var qtdLetras = 0; foreach (char letra in palavra) { if (letra.Equals(letraParaContar)) qtdLetras++; } tableResultado.ArmazenarResultado(identificador,qtdLetras); queuePalavras.PalavraProcessada(mensagem); Thread.Sleep(1000); } else { Thread.Sleep(30000); } Trace.WriteLine("Working", "Information"); } }