public MonitorBlockBase(MyGridProgram program, MonitorTarget target, MonitorOptions options, MonitorContents contents) { Program = program; Target = target ?? new MonitorTarget(Me); Options = options ?? new MonitorOptions(); Contents = contents ?? new MonitorContents(); Totalize = Options.ContainsKey("total"); }
public static void Run() { using (var context = ApplicationContext.Create(application => application .Tasks(tasks => tasks .Clear() .Task <MigrateTask>() .MonitorTask(task => task .Clear() .Step <ExportIntegrationErrorsStep>()) .MaintenanceTask(task => task .Clear() .Step <CleanUpIntegrationDbStep>()) ) .Services(services => services .Advanced(advanced => advanced .Register <IEmailService, MyEmailService>())) .Database(database => database .IntegrationDb(integrationDb => integrationDb .PrefixTables("IntegrationService.") .Connection(ConnectionString.FromText(@"Integrated Security=SSPI;Data Source=.\SQLExpress;Database=IntegrationServiceDemo_Logging")))))) { context.Execute(nameof(MigrateTask)); var logger = context.Resolve <ILogger>(); logger.LogError(Target.Service, new string('-', 5000)); logger.LogError(new InvalidOperationException(new string('.', 5000))); var configurationService = context.Resolve <IConfigurationService>(); var monitorConfiguration = configurationService.Get <MonitorConfiguration>(); MonitorTarget serviceTarget = monitorConfiguration.EnsureMonitorTarget(Target.Service); serviceTarget.Recipients = new[] { "dummy@localhost" }; configurationService.Save(monitorConfiguration, typeof(Demo).FullName); context.Execute(nameof(MonitorTask)); context.Execute(nameof(MaintenanceTask)); } }
public MonitorBlock(MyGridProgram program, MonitorTarget target, MonitorOptions options, MonitorContents contents) : base(program, target, options, contents) { }