千家信息网

ASP.NET Core轻量级作业调度Job任务框架的示例分析

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章给大家介绍ASP.NET Core轻量级作业调度Job任务框架的示例分析,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。在ASP.NET Core MVC/WebApi项目
千家信息网最后更新 2026年11月02日ASP.NET Core轻量级作业调度Job任务框架的示例分析

这篇文章给大家介绍ASP.NET Core轻量级作业调度Job任务框架的示例分析,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

在ASP.NET Core MVC/WebApi项目需要一个按时执行的任务,每隔几分钟执行一个,或者每隔几小时执行一次等等,这个时候就需要一个定时的功能,最简单的就是用Timer自己写一个,但是自己写的性能等各方面有可能不健全等等,虽然ASP.NET Core现在内置提供了自带的Worker Service功能,但是对于复杂时间的作业计划并不支持;

大家可能会想到使用强大的Quartz.Net框架,为什么不选择它,主要是因为太复杂的了,不容易简单快速上手 ,而现在开源的库也越来越多,功能也越来越好,那么阿笨今天给大家推荐一款轻量级的作业调度Job任务框架,简单且功能强大,很方便的与ASP.NET Core进行结合,那么它的名字是什么。。。。

文章末尾阿笨已经给大家把示例代码进行封装好了,开箱即用。你再也不用为项目中如何执行多个作业任务而感到烦恼了?

二、FluentScheduler介绍

我们是一批站在巨人肩上的人,好的东西也学会用,直接拿来主义。FluentScheduler定时任务库,通过nuget引用,可以设置各种事件间隔,,超级方便简单。

FluentScheduler是一个简单的任务调度框架,使用起来非常方便。作者的源码和例子的地址:

https://github.com/fluentscheduler/FluentScheduler

1.首先引用FluentScheduler.dll,dll数据源可通过NuGet程序包获取。打开管理解决方案的NuGet程序包,输入FluentScheduler即可。

步骤:状态栏选择 工具 - NuGet程序包管理器 - 管理解决方案的NuGet程序包,然后输入FluentScheduler即可。



三、FluentScheduler使用方式

第一步:

注册FluentSchedule服务



第二步:

定义我们要执行Job的任务,比如这里阿笨以"订单"和"邮件"两个Job任务进行举例


第三步:

继承Registry类,可以理解为:该任务执行的计划的作业调度时间策略。比如:每5秒一次循环,每1小时一次循环。


第四步:

继承实现IJob接口,可以理解为:具体执行的任务业务逻辑是什么。


第五步:直接F5允许即可。

需要有一点要注意的就是NonReentrantAsDefault方法的作用特别重大:它代表每一次任务都必须执行完成后,才能开启下一次执行,防止并发执行带来的问题,即也就是防止重复执行。下次任务开始一定要等上一次任务执行完成后才进行。

这里给大家列举了一下的我们常用的几种作业调度计划

// Schedule an IJob to run at an interval

// 立即执行每10秒一次的计划任务。(指定一个时间间隔运行,根据自己需求,可以是秒、分、时、天、月、年等。)

Schedule().ToRunNow().AndEvery(10).Seconds();

// 立即执行每10秒一次的计划任务。如果本次任务没有结束,下一次的任务则不会开始,禁止并行运行

Schedule().www.leyouzaixan.cnNonReentrant().ToRunNow().AndEvery(10).Seconds();

//在每天的21:15执行计划任务

Schedule(() => Console.WriteLine("www.taohuayuan178.com It's 9:15 PM now.")).ToRunEvery(1).Days().At(21,15);

// 立即执行一个在每月的第一个星期一 3:00 的计划任务

Schedule(() => Console.WriteLine("It's 3:00 AM now.")).ToRunNow().AndEvery(1).Months().OnTheFirst(DayOfWeek.Monday).At(3,0);

//在每周一的21:15执行计划任务

Schedule(() => Console.WriteLine("It's 9:15 PM now.")).ToRunEvery(1).Weeks().On(DayOfWeek.Monday).At(21,15);

关于ASP.NET Core轻量级作业调度Job任务框架的示例分析就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

任务 作业 调度 框架 功能 程序 示例 轻量 轻量级 时间 管理 分析 复杂 强大 内容 小时 就是 文章 方案 更多 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 南京欣网互联网络科技 博彦科技互联网金融 高科技互联网 互联网科技有限公司经营范围 互联网科技卖菜 汉立互联网科技有限公司联系电话 互联网之后的科技是什么 福州新华互联网科技学校 知乎 华服互联网科技官网 千方科技属于互联网企业吗 互联网在线教育科技创业 朱啸虎曾投资哪些互联网科技企业 世界互联网领先科技成果获奖 山东星卡互联网科技有限公司官网 中天科技中国工业互联网 从那以后互联网科技有限公司 江苏互联网智能科技产品出厂价 第三届互联网大会安防黑科技 网互联网络科技 山东亿川互联网科技有限责任公司 互联网黑科技 深圳科技互联网 青岛互联网科技公司 互联网金融监管科技 茂名市互联网科技产业园 互联网科技融合创新 广州有谷有贝互联网科技有限公司 昆明中奇联合互联网科技 科技互联网行业投资研究 互联网科技企业文化
0