Skip to content

maikebing/QuartzHostedService

 
 

Repository files navigation

QuartzHostedService

Wrapper above [Quartz.NET] (https://github.com/quartznet/quartznet) for .NET Core.

Usage

  1. Create Quartz-Job implements IJob interface

    public class HelloJob : IJob
    {
        public Task Execute(IJobExecutionContext context)
        {
            Console.WriteLine("Hello");
            return Task.CompletedTask;
        }
    }
  2. Call extension methode UseQuartzHostedServic in IServiceCollection and register and configure your created job.

    services.UseQuartzHostedService()
        .RegiserJob<HelloJob>(() =>
        {
            var result = new List<TriggerBuilder>();
            result.Add(TriggerBuilder.Create()
                        .WithSimpleSchedule(x=>x.WithIntervalInSeconds(1).RepeatForever()));
            result.Add(TriggerBuilder.Create()
                    .WithSimpleSchedule(x => x.WithIntervalInSeconds(2).RepeatForever()));
            return result;
        })
  3. ConfigureQuartzHost Must be call after Host.CreateDefaultBuilder(args).ConfigureWebHostDefaults()

    public class Program
    {
        public static void Main(string[] args)
        {
            CreateHostBuilder(args).Build().Run();
        }
    
        public static IHostBuilder CreateHostBuilder(string[] args) =>
            Host.CreateDefaultBuilder(args)
                 .ConfigureWebHostDefaults(webBuilder =>
                {
                    webBuilder.UseStartup<Startup>();
                    webBuilder.ConfigureKestrel(serverOptions =>
                    {
                        serverOptions.AllowSynchronousIO = true;
                    });
                })
                .ConfigureQuartzHost();
    }
    

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C# 100.0%