/// <summary> /// Thread de processamento da fila de acompanhamento de ordens /// </summary> private void OrdemProcessor() { try { while (_bKeepRunning) { lock (queueOrdens) { while (queueOrdens.Count > 0) { OrdemInfoStreamer ordem = queueOrdens.Dequeue(); logger.Debug("OrdemInfo: [" + ordem.ToMsg() + "]"); sckServer.SendToAll(ordem.ToMsg()); } } Thread.Sleep(100); } } catch (Exception ex) { logger.Error("OrdemProcessor: " + ex.Message, ex); } }
/// <summary> /// Event handler de acompanhamentos de ordens /// </summary> /// <param name="report"></param> public void OrdemAlterada(RoteadorOrdens.Lib.Dados.OrdemInfo report) { try { OrdemInfoStreamer ordem = new OrdemInfoStreamer(report); lock (queueOrdens) { queueOrdens.Enqueue(ordem); } } catch (Exception ex) { logger.Error("OrdemAlterada():" + ex.Message, ex); } }