static void Main(string[] args) { var log = GetProductionLogger(); var assembly = System.Reflection.Assembly.GetExecutingAssembly(); var fvi = FileVersionInfo.GetVersionInfo(assembly.Location); var c = new RealClock(); log.LogInformation($"Starting PBXConnector Console Runner {fvi.FileVersion}"); RegistryConfigurationProvider config; try { config = new RegistryConfigurationProvider(log); } catch (Exception ex) { log.LogError("Error starting PBXConnector Console Runner", ex); throw; } var ac = new ApplicationClient( new PBXApplicationClientConfigurationProvider(config), log, "CJASDBYCOKYIWBWNFPQHOBGIQPEJUBSYNEOUEKJZTOSWWCPGCRWNYGBOOUZE"); var connector = new PBXConnection(log, config, ac, c); connector.Start(); }
public void TryGet_ExistingKey_ShouldReturn() { // Arrange var target = new RegistryConfigurationProvider(new RegistryConfigurationSource( @"SOFTWARE\Microsoft\Shell", () => Microsoft.Win32.Registry.LocalMachine)); target.Load(); // Act target.TryGet("USB:NotifyOnUsbErrors", out string actual); // Assert Assert.Equal("1", actual); }
protected override void OnStart(string[] args) { var assembly = System.Reflection.Assembly.GetExecutingAssembly(); var fvi = FileVersionInfo.GetVersionInfo(assembly.Location); _log.LogInformation($"Starting PBXConnector service {fvi.FileVersion}"); try { _config = new RegistryConfigurationProvider(_log); } catch (Exception ex) { _log.LogError($"Error starting PBXConnectorService: {ex}"); throw; } _log.LogInformation($"Completed Configuration Read"); _ac = new ApplicationClient(new PBXApplicationClientConfigurationProvider(_config), _log, "CJASDBYCOKYIWBWNFPQHOBGIQPEJUBSYNEOUEKJZTOSWWCPGCRWNYGBOOUZE"); _connection = new PBXConnection(_log, _config, _ac, _c); _log.LogInformation("Initialized PBX Connection Object"); _connection.Start(); }
protected override void OnStart(string[] args) { if (args.Contains("--debugger")) { Debugger.Launch(); } var logger = Globals.Logger; RegistryConfigurationProvider.VerifyConfiguration(logger); var assembly = System.Reflection.Assembly.GetExecutingAssembly(); var fvi = FileVersionInfo.GetVersionInfo(assembly.Location); logger.LogInformation($"Starting HOLMS Scheduler Service {fvi.FileVersion}. Creating tasks."); // Run every n minutes _jobSchedulers.Add(new RecurringJobScheduler <DailyOpExEmailJob>(logger, _schedulerFactory, DailyOpExEmailJob.JobGroupString, DailyOpExEmailJob.JobNameString, DailyOpExEmailJob.JobPeriod)); _jobSchedulers.Add(new RecurringJobScheduler <HousekeepingDirtyRolloverJob>(logger, _schedulerFactory, HousekeepingDirtyRolloverJob.JobGroupString, HousekeepingDirtyRolloverJob.JobNameString, HousekeepingDirtyRolloverJob.JobPeriod)); _jobSchedulers.Add(new RecurringJobScheduler <OTASyncJob>(logger, _schedulerFactory, OTASyncJob.JobGroupString, OTASyncJob.JobNameString, OTASyncJob.JobPeriod)); _jobSchedulers.Add(new RecurringJobScheduler <SupplyHistorySnapshotJob>( logger, _schedulerFactory, SupplyHistorySnapshotJob.JobGroupString, SupplyHistorySnapshotJob.JobNameString, SupplyHistorySnapshotJob.JobPeriod)); // Run at same time every day _jobSchedulers.Add(new FixedTimeOfDayScheduler <AccountingTransactionExportJob>( logger, _schedulerFactory, AccountingTransactionExportJob.JobGroupString, AccountingTransactionExportJob.JobNameString, AccountingTransactionExportJob.RunAtTimeOfDay)); _jobSchedulers.Add(new FixedTimeOfDayScheduler <AuthorizationCleanupJob>( logger, _schedulerFactory, AuthorizationCleanupJob.JobGroupString, AuthorizationCleanupJob.JobNameString, AuthorizationCleanupJob.RunAtTimeOfDay)); _jobSchedulers.Add(new FixedTimeOfDayScheduler <GuaranteeAuthorizerJob>( logger, _schedulerFactory, GuaranteeAuthorizerJob.JobGroupString, GuaranteeAuthorizerJob.JobNameString, GuaranteeAuthorizerJob.RunAtTimeOfDay)); logger.LogInformation("Scheduling tasks"); foreach (var t in _jobSchedulers) { t.Schedule(); } logger.LogInformation("Scheduling rollover chime job"); var propResp = Globals.AC.PropertySvc.All(new Empty()); foreach (var p in propResp.Properties) { var checkinTs = p.CheckinTimeOfDay.ToTimeSpan(); logger.LogInformation($"Rollover chimes 1 minute after checkin time: {checkinTs}. desc={p.Description}"); var s = new FixedTimeOfDayScheduler <CheckinChimeJob>(logger, _schedulerFactory, CheckinChimeJob.JobGroup, CheckinChimeJob.JobName(p.EntityId), // Run 1 minute after checkin // https://www.youtube.com/watch?v=2AKhvbBuvVw checkinTs + new TimeSpan(0, 0, 1, 0)); s.Schedule(CheckinChimeJob.MakeMap(p.EntityId)); } logger.LogInformation("Starting main execution loop"); var scheduler = _schedulerFactory.GetScheduler(); scheduler.Start(); }