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)); }