ASP.NET MVC 使用 FluentScheduler 定时器计划任务
来源:互联网 发布:多组数据的差异性分析 编辑:程序博客网 时间:2024/05/16 11:29
FluentScheduler 是什么?
Automated job scheduler with fluent interface.
这是作者在 Github 上的介绍,就是一个定时任务管理器。在 .Net 下类似的有微软的 Timer 、 Quartz.NET 、 FluentScheduler 以及Windows服务等,关于 Quartz.NET 的使用几乎和 Java 下的 Quartz 没什么区别,我之前写过一篇 Spring 使用 Quartz 任务调度定时器是关于 Quartz 的。
定时任务或者说作业调度,可能也只有在你指定一个时间做统计、发邮件或者一些你想完成的业务逻辑时有用,这也是它出现的目的。
如何使用 FluentScheduler ?
我是推荐你去作者的 Github 去看看源码或例子,地址: https://github.com/fluentscheduler/FluentScheduler
当然,这里我用作者的例子做了演示和翻译,保证谁都能看的懂。
一、安装FluentScheduler
程序包
打开程序包管理控制台,输入Install-Package FluentScheduler
即可。步骤:状态栏选择 工具 - 库程序包管理器 - 程序包管理控制台,如下图:
输入Install-Package FluentScheduler
。
二、写代码
我这里只简单贴一下作者的示例代码,更推荐你去 Github 看,但我随手翻译了一下,或许更容易阅读一些。
public class Demo : Registry{ public Demo() { // Schedule an IJob to run at an interval // 立即执行每两秒一次的计划任务。(指定一个时间间隔运行,根据自己需求,可以是秒、分、时、天、月、年等。) Schedule<MyJob>().ToRunNow().AndEvery(2).Seconds(); // Schedule an IJob to run once, delayed by a specific time interval // 延迟一个指定时间间隔执行一次计划任务。(当然,这个间隔依然可以是秒、分、时、天、月、年等。) Schedule<MyJob>().ToRunOnceIn(5).Seconds(); // Schedule a simple job to run at a specific time // 在一个指定时间执行计划任务(最常用。这里是在每天的下午 1:10 分执行) Schedule(() => Trace.WriteLine("It's 1:10 PM now.")).ToRunEvery(1).Days().At(13, 10); Schedule(() => { // 做你想做的事儿。 Trace.WriteLine("It's 1:10 PM now."); }).ToRunEvery(1).Days().At(13, 10); // Schedule a more complex action to run immediately and on an monthly interval // 立即执行一个在每月的星期一 3:00 的计划任务(可以看出来这个一个比较复杂点的时间,它意思是它也能做到!) Schedule<MyComplexJob>().ToRunNow().AndEvery(1).Months().OnTheFirst(DayOfWeek.Monday).At(3, 0); // Schedule multiple jobs to be run in a single schedule // 在同一个计划中执行两个(多个)任务 Schedule<MyJob>().AndThen<MyOtherJob>().ToRunNow().AndEvery(5).Minutes(); }}public class MyJob : IJob{ void IJob.Execute() { Trace.WriteLine("现在时间是:"+DateTime.Now); }}public class MyOtherJob : IJob{ void IJob.Execute() { Trace.WriteLine("这是另一个 Job ,现在时间是:" + DateTime.Now); }}public class MyComplexJob : IJob{ void IJob.Execute() { Trace.WriteLine("这是比较复杂的 Job ,现在时间是:" + DateTime.Now); }}
三、初始化
在Global.asax
中加入一句
JobManager.Initialize(new Demo());
上面是简单的使用,其实已经足够了,当然还有更多变态的需求,作者也在文档里写了,比如这个:你想执行一个计划任务,每周一 14:00 运行。但现在是星期一上午 10:00 ,那你的程序应该在今天运行还是在下周星期一?这里用到了 ToRunEvery
。
还有并发任务的处理,有兴趣可以去看看。
总结一下
FluentScheduler 是 .Net 下,可以让你轻松实现定时任务的工具,不需要再去写Windows服务了,更重要的是时间设置起来灵活很多,定时任务难点不就是在这么。
欢迎加我本人QQ:1011435094
- ASP.NET MVC 使用 FluentScheduler 定时器计划任务
- asp.net mvc下使用FluentScheduler 后台任务定时器
- C# FluentScheduler 实现任务计划
- asp.net计划任务
- .net中后台定时执行任务-FluentScheduler
- .NET定时任务执行管理器开源组件–FluentScheduler,可以在web应用程序里面使用
- MVC 使用Quartz.Net组件实现定时计划任务
- asp.net实现计划任务
- asp.net Global计划任务
- .NET定时任务执行管理器开源组件–FluentScheduler
- spring定时器、linux计划任务的使用
- 任务ASP.NET +MVC视频
- ASP.NET MVC计划任务实现方法(定时执行某个功能)
- Asp.net定时执行任务(定时器改良)
- asp.net 线程控制计划任务
- asp.net定时实现计划任务
- asp.net 计划任务管理程序实现,多线程
- ASP.NET 计划任务(不使用外接程序,.net内部机制实现)
- Hadoop和Spark是两个不同的分布式软件框架
- 详解Unity中的委托与事件
- PHP设计模式之-----注册树模式
- eclipse maven整合SSH项目(实现简单的连接数据库实现登录小例子)
- JSP对属性的操作
- ASP.NET MVC 使用 FluentScheduler 定时器计划任务
- Android4.0通话过程
- 『 Spark 』8. 实战案例 | Spark 在金融领域的应用 | 日内走势预测
- mysql 5.7多实例安装
- Tomcat+nginx项目在浏览器报安全隐患以及图片加载失败原因
- python提示import XX 不存在,如何排查错误
- vue.js2.0父子组件间传参 (二)实现弹窗
- 如何在官网下载Spring各个版本的jar包
- Java并发编程(四)--Semaphore