quartz 每30秒执行一次_Net Core 使用 Quartz

Net Core 使用 Quartz
复杂的业务系统经常伴随各种统计作业,许多会定时在深夜时间执行,Quartz是一套开源的作业调度框架,比较适合日常系统各种业务的定时处理
首先创建一个控制台应用程序,添加Quartz依赖包
 "Quartz" Version="3.0.7" />

97e0fdc84381d80801879d6afb089ea9.png

Quartz是3个组成部分,调度器,任务,触发器

536be5312d3c64bce7b63ff33bdbe53d.png

创建一个任务
    public Task Execute(IJobExecutionContext context)        {            return Task.Run(() =>            {                var wtime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");                string path = "/demo.log";                using (StreamWriter sw = new StreamWriter(path, true))                {                    sw.WriteLine("执行作业" + wtime);                }            });        }
调度器结合任务和触发器,触发器定义任务的执行时间,执行间隔
static void Main(string[] args)        {            Console.WriteLine("开始作业");            IScheduler scheduler;            ISchedulerFactory factory = new StdSchedulerFactory();            scheduler = factory.GetScheduler().Result;            IJobDetail testJobDetail = JobBuilder.Create<DemoJob>().WithIdentity("DemoJob").Build();            ITrigger testJobTrigger = TriggerBuilder.Create().WithCronSchedule("0/5 * * * * ? *").Build();            scheduler.ScheduleJob(testJobDetail, testJobTrigger);            scheduler.Start();            while (true)            {             }        }
运行程序,可以看出每隔5秒打印出作业执行时间

bd1fb9ee4c97b80a71ad5ff6e0fdade0.png

cron 表达式使用工具生成
0/5 * * * * ? *

表示每隔5秒执行一次

更多了解cron 表达式 ,可以用https://cron.qqe2.com/ 访问官网工具生成

使用Quartz总结

JobDetail绑定指定的Job,调度器首先New一个Job实例,然后触发器Trigger会去通知Scheduler何时去执行对应Job

获取源码:https://github.com/alindada/netcore/tree/main/NetCore.Quartz

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值