public static void Main() { var loggerFactory = new LoggerFactory().AddConsole(); var logger = loggerFactory.CreateLogger <Program>(); var serviceProvider = SampleServiceProvider.Create(loggerFactory); for (int i = 0; i < 5; i++) { Task.Run(() => { var cronService = new CronService(serviceProvider.GetService <ICacheClient>(), loggerFactory); // every minute cronService.Add(serviceProvider.GetService <EveryMinuteJob>(), "* * * * *"); // every even minute cronService.Add(() => serviceProvider.GetService <EvenMinuteJob>(), "*/2 * * * *"); if (logger.IsEnabled(LogLevel.Information)) { logger.LogInformation("Cron Service ({Instance}) Running on {ManagedThreadId}", i, Thread.CurrentThread.ManagedThreadId); } cronService.Run(); }); } Console.ReadKey(); }
public static void Main() { var loggerFactory = new LoggerFactory(); var logger = loggerFactory.CreateLogger <Program>(); var serviceProvider = ServiceProvider.FindAndGetServiceProvider(typeof(EveryMinuteJob), loggerFactory); for (int i = 0; i < 5; i++) { Task.Run(() => { var cronService = new CronService(serviceProvider.GetService <ICacheClient>(), loggerFactory); // every minute cronService.Add(serviceProvider.GetService <EveryMinuteJob>(), "* * * * *"); // every even minute cronService.Add(() => serviceProvider.GetService <EvenMinuteJob>(), "*/2 * * * *"); logger.Info($"Cron Service ({i}) Running on {Thread.CurrentThread.ManagedThreadId}"); cronService.Run(); }); } Console.ReadKey(); }