Example #1
0
        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();
        }
Example #2
0
        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();
        }