Beispiel #1
0
        public void Run()
        {
            Logger.Info("QP8.ArticleScheduler starting...");
            var unityConfig = new UnityContainerCustomizer();

            _cancellationTokenSource = new CancellationTokenSource();
            _task = new Task(() =>
            {
                do
                {
                    try
                    {
                        QPConfiguration.ConfigServiceUrl   = _props.ConfigServiceUrl;
                        QPConfiguration.ConfigServiceToken = _props.ConfigServiceToken;
                        QPConfiguration.XmlConfigPath      = _props.XmlConfigPath;

                        var customers = QPConfiguration.GetCustomers(AppName)
                                        .Where(c => c.DbType == DatabaseType.SqlServer)
                                        .Where(c => !c.ExcludeFromSchedulers)
                                        .ToList();
                        new QpScheduler(unityConfig.UnityContainer, customers, _props.PrtgLoggerTasksQueueCheckShiftTime).Run();
                    }
                    catch (Exception ex)
                    {
                        Logger.Error().Exception(ex).Message("There was an error while starting the service job").Write();
                    }
                } while (!_cancellationTokenSource.Token.WaitHandle.WaitOne(_props.RecurrentTimeout));
            }, _cancellationTokenSource.Token, TaskCreationOptions.LongRunning);
            _task.Start();
            Logger.Info("QP8.ArticleScheduler started");
        }
Beispiel #2
0
        public void Run()
        {
            var unityConfig = new UnityContainerCustomizer();
            var prtgLogger  = new PrtgErrorsHandler(unityConfig.UnityContainer.Resolve <IPrtgNLogFactory>());

            _cancellationTokenSource = new CancellationTokenSource();
            _task = new Task(() =>
            {
                do
                {
                    try
                    {
                        var customers = QPConfiguration.GetCustomers(AppName).Where(c => !c.ExcludeFromSchedulers).ToList();
                        new QpScheduler(unityConfig.UnityContainer, prtgLogger, customers, _tasksQueueCheckShiftTime).Run();
                    }
                    catch (Exception ex)
                    {
                        Logger.Log.Error("There was an error while starting the service job", ex);
                    }
                } while (!_cancellationTokenSource.Token.WaitHandle.WaitOne(_recurrentTimeout));
            }, _cancellationTokenSource.Token, TaskCreationOptions.LongRunning);
            _task.Start();
        }