public Message WaitMessage(Message.Categories type, CancellationToken ct) { try { Message msg = PendingInboundMessages.Take(); #if TRACK_DETAILED_STATS if (StatisticsCollector.CollectQueueStats) { queueTracking.OnDeQueueRequest(msg); } #endif return(msg); } catch (ThreadAbortException tae) { // Silo may be shutting-down, so downgrade to verbose log logger.Verbose(ErrorCode.ProxyClient_ThreadAbort, "Received thread abort exception -- exiting. {0}", tae); Thread.ResetAbort(); return(null); } catch (OperationCanceledException oce) { logger.Verbose(ErrorCode.ProxyClient_OperationCancelled, "Received operation cancelled exception -- exiting. {0}", oce); return(null); } catch (Exception ex) { logger.Error(ErrorCode.ProxyClient_ReceiveError, "Unexpected error getting an inbound message", ex); return(null); } }
public void OnDeQueueRequest(WorkItem workItem) { if (this.statisticsLevel.CollectDetailedQueueStatistics()) { queueTracking.OnDeQueueRequest(workItem.ExecutionTime); } }
public void OnDeQueueRequest(WorkItem workItem) { if (ExecutorOptions.CollectDetailedQueueStatistics) { queueTracking.OnDeQueueRequest(workItem.ExecutionTime); } }
public Message WaitMessage(Message.Categories type, CancellationToken ct) { try { if (ct.IsCancellationRequested) { return(null); } // Don't pass CancellationToken to Take. It causes too much spinning. Message msg = PendingInboundMessages.Take(); #if TRACK_DETAILED_STATS if (StatisticsCollector.CollectQueueStats) { queueTracking.OnDeQueueRequest(msg); } #endif return(msg); } #if !NETSTANDARD catch (ThreadAbortException exc) { // Silo may be shutting-down, so downgrade to verbose log logger.Verbose(ErrorCode.ProxyClient_ThreadAbort, "Received thread abort exception -- exiting. {0}", exc); Thread.ResetAbort(); return(null); } #endif catch (OperationCanceledException exc) { logger.Verbose(ErrorCode.ProxyClient_OperationCancelled, "Received operation cancelled exception -- exiting. {0}", exc); return(null); } catch (ObjectDisposedException exc) { logger.Verbose(ErrorCode.ProxyClient_OperationCancelled, "Received Object Disposed exception -- exiting. {0}", exc); return(null); } catch (InvalidOperationException exc) { logger.Verbose(ErrorCode.ProxyClient_OperationCancelled, "Received Invalid Operation exception -- exiting. {0}", exc); return(null); } catch (Exception ex) { logger.Error(ErrorCode.ProxyClient_ReceiveError, "Unexpected error getting an inbound message", ex); return(null); } }