public override void Run() { try { Trace.TraceInformation("Listening for merger queue messages..."); m_log.Info("Listening for merger queue messages..."); m_makePicStopwatch = new Stopwatch(); m_makePicStopwatch.Start(); while (true) //run process { prepareMerger(); QueueListener <MergerMessage> queueListener = new QueueListener <MergerMessage>(m_instanceQueue, m_log); queueListener.AddResponse("ToMergeMessage", toMergeMessageEvent); queueListener.AddResponse("RenderingFinishMessage", renderingFinishMessageEvent); MergerExitCondition exitCondition = new MergerExitCondition(isFinish); queueListener.Run(exitCondition); } } catch (Exception e) { Trace.TraceError("Exception when processing queue item. Message: ", e.Message); m_log.Error("Exception when processing queue item. Message: " + e.Message); } }
private void waitingProcess(NetMessageHandler handler, string sessionId, SceneMessage sceneMessage, MessageQueue <DispetcherMessage> dispatcherHandler) { DispatcherExitCondition exitCondition = new DispatcherExitCondition(handler, sessionId, isDisconnected); QueueListener <DispetcherMessage> queueListener = new QueueListener <DispetcherMessage>(dispatcherHandler, m_log); queueListener.AddResponse("MergerFinishMessage", mergerFinishMessageEvent); queueListener.AddResponse("MergerUpdateMessage", mergerUpdateMessageEvent); queueListener.AddResponse("MergerUpdateFailedMessage", mergerUpdateFailedMessageEvent); queueListener.Run(exitCondition); }