示例#1
0
        public void Refresh(QueuesHubModel dataToBroadCast)
        {
            try
            {
                IHubContext context = Startup.ConnectionManager.GetHubContext <DeliveryQueueCountHub>();

                context.Clients.All.GetQueueDeliveryCount(dataToBroadCast);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
 private void Callback(Object state)
 {
     try
     {
         ViewRefresher  _viewRefresher  = new ViewRefresher();
         QueuesHubModel dataToBroadCast = viewformatter.FetchQueueDeliveryCounts();
         _viewRefresher.Refresh(dataToBroadCast);
         _timer.Change(_intervalInMilliseconds, Timeout.Infinite);
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
示例#3
0
        public QueuesHubModel FetchQueueDeliveryCounts()
        {
            QueuesHubModel queues = new QueuesHubModel();

            try
            {
                List <Queue> deliveryqueues = _queueSvc.GetQueues();

                List <Queue> queuesWithPendingDeliveryCount = _queueSvc.PopulateMessageCounts(deliveryqueues);
                List <DeliveryQueueHubModel> updatedQueues  = _deliveryQueueUpdater.PopulateMessageCounts(queuesWithPendingDeliveryCount).ToViewModel <List <Queue>, List <DeliveryQueueHubModel> >();

                var jobStatus = _jobLastRunQuery.GetStatus();

                queues.Queues     = updatedQueues;
                queues.JobLastRun = jobStatus.LastHeartbeat;
                queues.JobCount   = jobStatus.Count;
            }
            catch (Exception ex)
            {
                _logger.Error(ex, "Error in getting signalR Delviery Queue Data ");
            }
            return(queues);
        }