Пример #1
0
        public SendBusiness(IConfigBusiness configBusiness, IQueueEvents queueEvents)
        {
            var config = configBusiness.LoadFiles();

            foreach (var databaseConfig in config.Databases)
            {
                ISenderAgent senderAgent = null;
                try
                {
                    if (databaseConfig.IsEnabled)
                    {
                        senderAgent = databaseConfig.GetSenderAgent();
                    }
                }
                catch (Exception exception)
                {
                    queueEvents.OnExceptionEvent(exception);
                }

                if (senderAgent != null)
                {
                    var queueSettings    = new QueueSettings(config.Application.FlushSecondsInterval, false, config.Application.MaxQueueSize, config.Application.Metadata);
                    var metaDataBusiness = new MetaDataBusiness();
                    _queues.Add(new Queue(senderAgent, queueEvents, metaDataBusiness, queueSettings));
                }
            }
        }
Пример #2
0
        public ClientMessageSender(IIndexEvents indexEvents, IQueueEvents queueEvents, IHubContext <NotifcationHub, INotifcationHub> notificationHub,
                                   IUploadTracker uploadTracker)
        {
            indexEvents.IndexStarted   = OnIndexStarted;
            indexEvents.IndexCompleted = OnIndexCompleted;
            indexEvents.IndexFailed    = OnIndexFailed;
            queueEvents.ItemProcessed  = OnItemProcessed;

            _notificationHub = notificationHub;
            _uploadTracker   = uploadTracker;
        }
Пример #3
0
        public Queue(ISenderAgent senderAgent, IQueueEvents queueEvents, IMetaDataBusiness metaDataBusiness, IQueueSettings queueSettings)
        {
            _pointValidator = new PointValidator();
            queueEvents.OnDebugMessageEvent($"Preparing new queue with target {senderAgent.TargetDescription}.");
            _queueAction = new QueueAction(queueEvents, GetQueueInfo);

            _senderAgent      = senderAgent;
            _queueEvents      = queueEvents;
            _metaDataBusiness = metaDataBusiness;
            _queueSettings    = queueSettings;
        }
Пример #4
0
 public QueueAction(IQueueEvents queueEvents, Func <IQueueCountInfo> getQueueInfo)
 {
     _queueEvents  = queueEvents;
     _getQueueInfo = getQueueInfo;
 }
Пример #5
0
 /// <summary>
 /// Initializes a new instance of the <see cref="QueuedHostedService"/> class.
 /// </summary>
 /// <param name="taskQueue">The task queue.</param>
 /// <param name="loggerFactory">The logger factory.</param>
 public QueuedHostedService(IBackgroundTaskQueue taskQueue, ILoggerFactory loggerFactory, IQueueEvents queueEvents)
 {
     TaskQueue    = taskQueue;
     _logger      = loggerFactory.CreateLogger <QueuedHostedService>();
     _queueEvents = queueEvents;
 }