quartz hangfire对比

特性 quartz hangfire
时间精度 可实现秒级精度 可实现分钟级精度
看板 有第三方工具 默认支持
cron 标准cron 支持5-6位cron

测试代码
hangfire

ConfigureServices中添加

services.AddHangfire(t => t.UseMemoryStorage());

Configure中添加

app.UseHangfireServer( );
app.UseHangfireDashboard();//看板

周期任务

RecurringJob.AddOrUpdate(() => T(), "* * * * *");

quarz

 public class TestJob : IJob
        {
            public Task Execute(IJobExecutionContext context)
            {
                return Task.Run(() =>
                {
                    Console.WriteLine($"{DateTime.Now}");
                });
            }
        }

public static async Task Test( )
        {
            IJobDetail job = JobBuilder.Create<TestJob>()
            .WithIdentity("TestJob", "Test")
           .Build();


            //创建一个触发条件
            ITrigger trigger = TriggerBuilder.Create()
               .WithIdentity("TestJobTrigger", "Test")
               .WithSimpleSchedule(x =>
               {
                   x.WithIntervalInSeconds(3).RepeatForever();
               })
               .Build();

            StdSchedulerFactory factory = new StdSchedulerFactory();
            //创建任务调度器
            var scheduler = await factory.GetScheduler();

            scheduler.Start();

            //将创建的任务和触发器条件添加到创建的任务调度器当中
            scheduler.ScheduleJob(job, trigger);
        }

[参考]
https://www.bookstack.cn/read/Hangfire-zh-official/README.md
https://www.quartz-scheduler.net/documentation/quartz-3.x/quick-start.html#configuration
https://www.jb51.net/article/232757.htm

posted @ 2022-05-11 13:28  Hey,Coder!  阅读(1828)  评论(0编辑  收藏  举报