static void Main(string[] args) { var minLevel = LogLevel.Info; var debugMode = args.Any(c => c.Equals("debug", StringComparison.CurrentCultureIgnoreCase)); var config = new NLog.Config.LoggingConfiguration(); // Targets where to log to: File and Console var logFile = new NLog.Targets.FileTarget("logfile") { FileName = ".log" }; var logConsole = new NLog.Targets.ConsoleTarget("logconsole"); // Rules for mapping loggers to targets if (debugMode) { minLevel = LogLevel.Debug; config.AddRule(LogLevel.Trace, LogLevel.Fatal, logConsole); } config.AddRule(minLevel, LogLevel.Fatal, logFile); // Apply config LogManager.Configuration = config; // CronWorker.Start(); Thread.Sleep(Timeout.Infinite); }
public void RunTest() { var path = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.CommonDocuments), ".cron", "cron.xml"); var settings = new XmlSerializer <CronSettings>(path).Get(); var worker = new CronWorker(settings.SmtpSettings, new ConsoleLogger()); worker.Run(); }
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline. public void Configure(IApplicationBuilder app, IHostingEnvironment env, IApplicationLifetime lifetime) { if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } else { app.UseExceptionHandler("/Home/Error"); } app.UseStaticFiles(); app.UseAuthentication(); app.UseMvc(routes => { routes.MapRoute( name: "default", template: "{controller=Home}/{action=Index}/{id?}"); }); var services = app.ApplicationServices; var jobService = services.GetRequiredService <IJobService>(); var jobRegistry = services.GetRequiredService <IJobRegistry>(); var lockFactory = services.GetRequiredService <ILockFactory>(); var aciService = services.GetRequiredService <IACIService>(); var loggerFactory = services.GetRequiredService <ILoggerFactory>(); var cronWorker = new CronWorker(jobService, jobRegistry, lockFactory, aciService, loggerFactory.CreateLogger("CronWorker")); var queueWorker = new QueueWorker(jobService, jobRegistry, lockFactory, aciService, loggerFactory.CreateLogger("QueueWorker")); lifetime.ApplicationStopping.Register(() => { cronWorker.Stop(); queueWorker.Stop(); }); cronWorker.Start(); queueWorker.Start(); }