定时任务
开发工具与关键技术:VS、MVC
作者:黎官凤
撰写时间:2019/05/5
所谓的定时任务就是在规定的时间完成某项任务,定时任务和所有的控制器,页面都无关。
使用定时任务需要用到一个插件
下载这个插件放在你所做的项目里面然后引用插件。
怎么引用呢?
在项目下找到引用点击右键弹出一个窗体找到添加引用项点击
弹出窗体然后点击窗体下面的浏览(B)按钮找到你放插件的地方双击插件,点击确定。
这样插件就引用完成了。
然后在项目下面创建一个文件夹命名为Timer,在新添加的文件夹Timer点击右键添加类,一个类命名为MyRegistry,引用using FluentScheduler;链接接口:
然后实现一个方法,构造函数
在Timer的文件夹再添加一个类,类名为TestJob,引用using FluentScheduler;
链接接口:注意要点击实现接口
实现接口会出现以下的样子把中间的路段删除
写以下的方法,
定时任务演示类。作用:在定时任务执行后,往D:/log.txt文件输出当前的时间,如果E:/log.txt不存在就创建
|
在E盘创建一个log文件:
然后就在MyRegistry类里面写要运行时间间隔定时任务,创建文件也可以在这个类里面写。
// 立即执行计划任务,并根据指定时间间隔执行一次计划任务
//(指定一个时间间隔运行,根据自己需求,可以是秒、分、时、天、月、年等。)
Schedule().ToRunNow().AndEvery(10).Seconds();//每十秒运行一次
// 延迟一个指定时间间隔执行一次计划任务。
//(当然,这个间隔依然可以是秒、分、时、天、月、年等。)
Schedule().ToRunOnceIn(10).Seconds();
//在一个指定时间执行计划任务 每个小时的第10分钟执行
Schedule().ToRunEvery(1).Hours().At(46);
// 在一个指定时间执行计划任务(最常用。这里是在每天的下午 1:10 分执行) Schedule().ToRunEvery(1).Days().At(13,10);
//每n年的第几天
Schedule().ToRunEvery(1).Years().On(5).At(12, 00);
//每n年的最后一天
Schedule().ToRunEvery(1).Years().OnTheLastDay();
//每n月的第几天
Schedule().ToRunEvery(1).Months().On(1).At(12,0);
//每n月的第一个星期的星期5 的15:0执行Schedule().ToRunEvery(1).Months().OnTheFirst(DayOfWeek.Friday).At(15, 0);
//每n月的第一个星期的星期5 的15:0执行 CleanJob和TestJob
Schedule().AndThen().ToRunEvery(1).Months().OnTheFirst(DayOfWeek.Friday).At(15, 0);
//在每天3点清理数据
Schedule().ToRunNow().AndEvery(10).Days().At(3,
00);
最后还要在项目的Global.asax那注册定时任务
双击进出,在里面注册定时任务