Exemplo n.º 1
0
        public override Lifecycle NewInstance(KernelContext context, Dependencies deps)
        {
            JobScheduler scheduler = deps.JobScheduler();
            DatabaseAvailabilityGuard databaseAvailabilityGuard = deps.AvailabilityGuard();
            PageCache             pageCache         = deps.PageCache();
            FileSystemAbstraction fs                = deps.FileSystemAbstraction();
            LogService            logService        = deps.LogService();
            NeoStoreDataSource    dataSourceManager = deps.DataSource;
            Log      log      = logService.GetInternalLog(typeof(PageCacheWarmer));
            Monitors monitors = deps.Monitors();
            PageCacheWarmerMonitor monitor = monitors.NewMonitor(typeof(PageCacheWarmerMonitor));

            monitors.AddMonitorListener(new PageCacheWarmerLoggingMonitor(log));
            Config config = deps.Config();

            return(new PageCacheWarmerKernelExtension(scheduler, databaseAvailabilityGuard, pageCache, fs, dataSourceManager, log, monitor, config));
        }
Exemplo n.º 2
0
 internal PageCacheWarmerKernelExtension(JobScheduler scheduler, DatabaseAvailabilityGuard databaseAvailabilityGuard, PageCache pageCache, FileSystemAbstraction fs, NeoStoreDataSource dataSource, Log log, PageCacheWarmerMonitor monitor, Config config)
 {
     this._databaseAvailabilityGuard = databaseAvailabilityGuard;
     this._dataSource      = dataSource;
     this._config          = config;
     _pageCacheWarmer      = new PageCacheWarmer(fs, pageCache, scheduler, dataSource.DatabaseLayout.databaseDirectory());
     _availabilityListener = new WarmupAvailabilityListener(scheduler, _pageCacheWarmer, config, log, monitor);
 }