/// <summary>
        /// Initialize wrapper
        /// </summary>
        public static void Initialize()
        {
            _model = new MsSqlAuditorModel();
            _model.Initialize();

            _storage = _model.DefaultVaultProcessor.CurrentStorage;

            _serviceDataUpdateTimeout = _model.Settings.SystemSettings.ServiceDataUpdateTimeout;
            _serviceRunJobsTimeout    = _model.Settings.SystemSettings.ServiceRunJobsTimeout;
            _serviceStarted           = DateTime.Now;

            _scheduleJobProcessor    = new ScheduleJobProcessor(_storage);
            _connectionsManager      = new ConnectionsManager(_model);
            _scheduleSettingsManager = new ScheduleSettingsManager(_storage);

            _runningTasks          = new ConcurrentDictionary <string, string>();
            _databaseNodeInstances = new ConcurrentDictionary <long, NodeInstanceRow>();
            _serviceNodeInstances  = new ConcurrentDictionary <long, NodeInstanceRow>();

            _serviceSchedules  = new ConcurrentDictionary <long, ScheduleSettingsRow>();
            _databaseSchedules = new ConcurrentDictionary <long, ScheduleSettingsRow>();
            _connectionGroups  = new List <ConnectionGroupInfo>();

            LoadFromDB(true);
            log.DebugFormat(
                @"Active scheduled Instances:'{0}'  Active schedules: '{1}'",
                _serviceNodeInstances.Count,
                _serviceSchedules.Count
                );
        }
Пример #2
0
        public List <TemplateNodeUpdateJob> GetRefreshJob(bool fromCache)
        {
            ScheduleSettingsManager scheduleManager = new ScheduleSettingsManager(
                this._model.DefaultVaultProcessor.CurrentStorage
                );

            List <TemplateNodeUpdateJob> resultList = scheduleManager.LoadScheduleSettings(this, fromCache);

            if (resultList.IsNullOrEmpty() && !RefreshSchedules.IsNullOrEmpty())
            {
                foreach (RefreshSchedule sset in RefreshSchedules)
                {
                    TemplateNodeUpdateJob result = new TemplateNodeUpdateJob();

                    if (sset != null)
                    {
                        result.Settings = sset.Clone();

                        AssignRefreshJob(result);

                        resultList.Add(result);
                    }
                }
            }

            return(resultList);
        }
Пример #3
0
        public void SaveJob(TemplateNodeUpdateJob job)
        {
            ScheduleSettingsManager scheduleManager = new ScheduleSettingsManager(
                this._model.DefaultVaultProcessor.CurrentStorage
                );

            scheduleManager.SaveScheduleSettings(this.TemplateNodeId.GetValueOrDefault(), job);

            if (this.Connection.RootOfStaticTree.Search(this) == null)
            {
                this.Connection.ResetStaticTreeRoot();
            }
        }